Tapaya
Přijímání plateb v prodejněZačínámeRychlý start

Rychlý start

Android

Zjistěte, jak nastavit SDK, nakonfigurovat prostředí a úspěšně provést první transakci.

Accept SDK běží uvnitř vaší aplikace a zpracovává platby přímo na zařízení: načte kartu nebo platbu přes Tap to Pay, zašifruje data a udrží práci s kartou mimo váš kód, takže zůstáváte mimo rozsah PCI. Váš backend autentizuje každou relaci SDK vůči Tapaya API, provádí onboarding obchodníků a spouští KYB. Tapaya provádí kontroly KYB a zúčtovává prostředky obchodníkovi.

Zvolte způsob integrace

Platby kartou přes Tap to Pay můžete přijímat dvěma způsoby. Oba předávají samotnou interakci s kartou pluginové aplikaci Tapaya Terminal na stejném zařízení. Liší se tím, jak velkou část tohoto předání řídí vaše aplikace:

Nastavení účtu integrátora

Než začnete psát kód, nastavte si účet, vůči kterému se bude váš backend autentizovat:

  1. Zaregistrujte se na platform.tapaya.com/register. Registrace je samoobslužná: pozvánka není potřeba.
  2. Přihlaste se a poté vytvořte organizaci nebo se připojte k existující; budete k tomu vyzváni automaticky hned po registraci.
  3. Vygenerujte si Server Secret Token na stránce API klíčů: váš backend jej používá k volání Tapaya Platform API (viz autentizace v Platform API).

Nejde o onboarding obchodníků

Toto je nastavení účtu pro vás, integrátora. Vaši obchodníci procházejí onboardingem zvlášť, a to buď přes SDK, Tapaya Platform UI, vaše vlastní UI, nebo pomocí odkazu s pozvánkou. Podrobnosti najdete v části Onboarding obchodníků. POST /merchant/auth/register pouze vytvoří základní záznam obchodníka; hostovaný onboarding přes pozvánku začíná voláním POST /integrator/merchant/send-registration-invite.

Zbytek tohoto průvodce popisuje přidání SDK do projektu, autentizaci relace a provedení první transakce.

Přidání závislosti

Na Androidu je SDK publikováno v Maven Central; v React Native se instaluje z npm příkazem npx expo install @tapayadot/accept-react-native a zapojí se pomocí svého konfiguračního pluginu.

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

Synchronizujte projekt (Android) nebo spusťte npx expo prebuild --clean (React Native) a poté proveďte inicializaci a autentizaci v kódu aplikace.

MyApplication.kt
// Step 1: Initialize (once, in Application.onCreate)
Accept.initialize(this) // sandbox by default; pass isProduction = true to go live

Autentizujte relaci obchodníka pomocí tokenu získaného z vašeho backendu. authenticate je funkce typu suspend a při selhání vyhodí výjimku 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
}

Onboarding obchodníka

Než budou povoleny jakékoli transakce, musí obchodník dokončit onboarding KYB. Onboarding už neřídí Accept SDK. Dokončete jej přes Tapaya Platform UI, vlastní UI napojené na Tapaya API, nebo pomocí odkazu s pozvánkou. Všechny způsoby najdete v části Onboarding obchodníků.

Automatické schválení v sandboxu

V sandboxu jsou obchodníci schváleni automaticky hned po onboardingu, takže nemusíte čekat na posouzení zpracovatelem plateb.

Ověření připravenosti obchodníka

Ujistěte se, že obchodník dokončil onboarding a je schválen pro přijímání plateb.

val ready = when (val status = Accept.merchant.onboardingStatus()) {
    OnboardingStatus.ReadyForPayments -> true
    is OnboardingStatus.RequiresAction -> false // status.state describes what's blocking
}

Obchodník je připraven až poté, co jej schválí zpracovatel plateb. Pokud některé údaje chybí, je nutné onboarding zopakovat. V některých případech může zpracovatel plateb obchodníka úplně zablokovat, například při prodeji zakázaného zboží.

Instalace a aktivace terminálu

Vyžadována pluginová aplikace

Platby kartou vyžadují, aby byl na zařízení nainstalován plugin Tapaya Accept. Ke kontrole použijte Accept.plugin.isInstalled(), a pokud plugin chybí, otevřete jeho stránku v obchodě pomocí Accept.plugin.install().

Plugin Tapaya Accept je pro platby kartou nezbytný. Zkontrolujte, zda je nainstalován, a poté aktivujte terminál, případně otevřete stránku pluginu v Obchodě Play a nainstalujte jej.

Plugin

if (Accept.plugin.isInstalled()) {
    // suspend; returns ActivateTerminalResult (Success / Canceled / Failed)
    Accept.plugin.activateTerminal()
} else {
    Accept.plugin.install() // opens the store listing
}

Vytvoření platební transakce

Transakci provedete voláním Accept.payments.pay() s částkou (v nejmenší jednotce měny) a kódem měny podle ISO 4217. Metoda vrací Flow<PaymentEvent>; odebírejte z něj události (collect), abyste sledovali průběh a konečný výsledek. pay() nikdy nevyhazuje výjimku: selhání přicházejí jako PaymentEvent.CreationFailed.

Pro rychlý start stačí pouze amount a currency. Všechny volitelné parametry, například pevné spropitné, úpravy účtenky nebo metadata, najdete v části Vytvoření platby.

Platba

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())
        }
    }
Chybí vám něco na této stránce?Navrhněte funkci. Připojíme tuto stránku, aby tým viděl souvislosti.