Tapaya
Прийом платежів у торговій точціПочаток роботиШвидкий старт

Швидкий старт

Android

Дізнайтеся, як налаштувати SDK, сконфігурувати середовище та успішно провести першу транзакцію.

Accept SDK працює всередині вашого застосунку й обробляє платежі безпосередньо на пристрої: зчитує картку або платіж через Tap to Pay, шифрує дані та тримає роботу з карткою поза вашим кодом, тож ви залишаєтеся поза сферою дії PCI. Ваш бекенд автентифікує кожну сесію SDK через Tapaya API, проводить онбординг мерчантів і запускає KYB. Tapaya виконує перевірки KYB і проводить розрахунок коштів на користь мерчанта.

Виберіть спосіб інтеграції

Приймати платежі карткою через Tap to Pay можна двома способами. Обидва передають саму взаємодію з карткою застосунку-плагіну Tapaya Terminal на тому самому пристрої. Вони відрізняються тим, яку частину цієї передачі контролює ваш застосунок:

Налаштування облікового запису інтегратора

Перш ніж писати код, налаштуйте обліковий запис, через який автентифікуватиметься ваш бекенд:

  1. Зареєструйтеся на platform.tapaya.com/register. Реєстрація відбувається самостійно, запрошення не потрібне.
  2. Увійдіть, а потім створіть організацію або приєднайтеся до наявної; вам автоматично запропонують це зробити одразу після реєстрації.
  3. Згенеруйте 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 і підключається через власний конфігураційний плагін.

build.gradle.kts
dependencies {
    implementation("com.tapaya:accept:1.15.0")
}

Синхронізуйте проєкт (Android) або запустіть npx expo prebuild --clean (React Native), а потім виконайте ініціалізацію та автентифікацію в коді застосунку.

MyApplication.kt
// 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())
        }
    }
Чогось бракує на цій сторінці?Надішліть запит на функцію. Ми додамо цю сторінку, щоб команда бачила контекст.