Швидкий старт
AndroidДізнайтеся, як налаштувати SDK, сконфігурувати середовище та успішно провести першу транзакцію.
Accept SDK працює всередині вашого застосунку й обробляє платежі безпосередньо на пристрої: зчитує картку або платіж через Tap to Pay, шифрує дані та тримає роботу з карткою поза вашим кодом, тож ви залишаєтеся поза сферою дії PCI. Ваш бекенд автентифікує кожну сесію SDK через Tapaya API, проводить онбординг мерчантів і запускає KYB. Tapaya виконує перевірки KYB і проводить розрахунок коштів на користь мерчанта.
Виберіть спосіб інтеграції
Приймати платежі карткою через Tap to Pay можна двома способами. Обидва передають саму взаємодію з карткою застосунку-плагіну Tapaya Terminal на тому самому пристрої. Вони відрізняються тим, яку частину цієї передачі контролює ваш застосунок:
Accept SDK (рекомендовано)
Вбудуйте SDK у свій застосунок для Android і отримуйте результат через callback. Цей посібник описує саме цей спосіб.
Лише Tapaya Terminal
Без SDK: відкрийте Tapaya Terminal за допомогою intent або deeplink і періодично запитуйте статус платежу.
Налаштування облікового запису інтегратора
Перш ніж писати код, налаштуйте обліковий запис, через який автентифікуватиметься ваш бекенд:
- Зареєструйтеся на platform.tapaya.com/register. Реєстрація відбувається самостійно, запрошення не потрібне.
- Увійдіть, а потім створіть організацію або приєднайтеся до наявної; вам автоматично запропонують це зробити одразу після реєстрації.
- Згенеруйте Server Secret Token на сторінці API-ключів: ваш бекенд використовує його для викликів Tapaya Platform API (див. автентифікацію в Platform API).
Це не онбординг мерчантів
Це налаштування облікового запису для вас, інтегратора. Ваші мерчанти проходять онбординг окремо: через
SDK, Tapaya Platform UI, ваш власний UI або за посиланням-запрошенням. Докладніше див. у розділі Онбординг
мерчантів. POST /merchant/auth/register лише створює базовий запис
мерчанта; хостований онбординг за запрошенням починається з POST /integrator/merchant/send-registration-invite.
Далі в цьому посібнику описано, як додати SDK до проєкту, автентифікувати сесію та провести першу транзакцію.
Додавання залежності
На Android SDK опубліковано в Maven Central; у React Native він встановлюється з npm командою
npx expo install @tapayadot/accept-react-native і підключається через власний конфігураційний плагін.
dependencies {
implementation("com.tapaya:accept:1.15.0")
}Синхронізуйте проєкт (Android) або запустіть npx expo prebuild --clean (React Native), а потім
виконайте ініціалізацію та автентифікацію в коді застосунку.
// Step 1: Initialize (once, in Application.onCreate)
Accept.initialize(this) // sandbox by default; pass isProduction = true to go liveАвтентифікуйте сесію мерчанта за допомогою токена, отриманого з вашого бекенду.
authenticate є функцією типу suspend і в разі невдачі викидає виняток AcceptException.
// Step 2: Authenticate (suspend; call from a coroutine)
try {
val sdkToken = myBackend.login() // token from POST /merchant/auth/login
Accept.auth.authenticate(sdkToken)
// Accept.state now emits SdkState.Authenticated
} catch (e: AcceptException) {
// handle authentication failure
}Онбординг мерчанта
Перш ніж буде дозволено будь-які транзакції, мерчант має завершити онбординг KYB. Онбординг більше не керується Accept SDK. Завершіть його через Tapaya Platform UI, власний UI, що працює з Tapaya API, або за посиланням-запрошенням. Усі способи описано в розділі Онбординг мерчантів.
Автоматичне схвалення в пісочниці
У пісочниці (sandbox) мерчантів схвалюють автоматично одразу після онбордингу, тож вам не потрібно чекати на перевірку платіжним процесором.
Перевірка готовності мерчанта
Переконайтеся, що мерчант завершив онбординг і отримав схвалення на прийом платежів.
val ready = when (val status = Accept.merchant.onboardingStatus()) {
OnboardingStatus.ReadyForPayments -> true
is OnboardingStatus.RequiresAction -> false // status.state describes what's blocking
}Мерчант готовий лише після того, як його схвалить платіжний процесор. Якщо якихось даних бракує, онбординг потрібно пройти повторно. У деяких випадках платіжний процесор може повністю заблокувати мерчанта, наприклад у разі продажу заборонених товарів.
Встановлення та активація термінала
Потрібен застосунок-плагін
Для платежів карткою на пристрої має бути встановлено плагін Tapaya Accept.
Для перевірки використовуйте Accept.plugin.isInstalled(), а якщо плагіна немає, відкрийте його сторінку
в магазині застосунків за допомогою Accept.plugin.install().
Плагін Tapaya Accept потрібен для платежів карткою. Перевірте, чи його встановлено, а потім активуйте термінал або відкрийте сторінку плагіна в Play Store, щоб його встановити.

if (Accept.plugin.isInstalled()) {
// suspend; returns ActivateTerminalResult (Success / Canceled / Failed)
Accept.plugin.activateTerminal()
} else {
Accept.plugin.install() // opens the store listing
}Створення платіжної транзакції
Щоб провести транзакцію, викличте Accept.payments.pay() із сумою (у найменшій одиниці валюти)
і кодом валюти за ISO 4217. Метод повертає Flow<PaymentEvent>; збирайте з нього події (collect), щоб стежити за перебігом і
остаточним результатом. pay() ніколи не викидає винятків: невдачі надходять як PaymentEvent.CreationFailed.
Для швидкого старту достатньо лише amount і currency. Усі необов'язкові параметри, як-от фіксовані чайові, перевизначення
чека або метадані, описано в розділі Створення платежу.

Accept.payments.pay(amount = 15000, currency = "CZK") // 150.00 Kč
.collect { event ->
when (event) {
PaymentEvent.Creating -> Log.d("pay", "creating")
is PaymentEvent.Created -> Log.d("pay", "created ${event.paymentToken}")
PaymentEvent.Launched -> Log.d("pay", "launched")
is PaymentEvent.Result -> Log.d("pay", event.payResult.toString())
is PaymentEvent.CreationFailed -> Log.e("pay", event.cause.toString())
}
}Огляд
Приймайте платежі карткою всюди, де ваші мерчанти зустрічаються з клієнтами, від каси в магазині та столика в ресторані до зарядної станції для електромобілів, на телефонах і планшетах, якими вони вже користуються.
Тестування / пісочниця
Дізнайтеся, як перевірити свою інтеграцію в пісочниці (sandbox).