Guida rapida
AndroidScopra come configurare l'SDK, preparare l'ambiente ed eseguire con successo la Sua prima transazione.
L'Accept SDK viene eseguito all'interno della Sua app e gestisce i pagamenti sul dispositivo: legge la carta o il pagamento Tap to Pay, cifra i dati e tiene la gestione delle carte fuori dal Suo codice, così Lei resta al di fuori dell'ambito PCI. Il Suo backend autentica ogni sessione dell'SDK presso la Tapaya API, esegue l'onboarding degli esercenti e avvia la verifica KYB. Tapaya esegue i controlli KYB e regola i fondi a favore dell'esercente.
Scegliere il percorso di integrazione
Esistono due modi per accettare pagamenti con carta tramite Tap to Pay. Entrambi affidano l'effettiva interazione con la carta all'app plugin Tapaya Terminal sullo stesso dispositivo. Si differenziano per quanta parte di questo passaggio gestisce la Sua app:
Accept SDK (consigliato)
Integri l'SDK nella Sua app Android e riceva il risultato tramite callback. Questa guida descrive questo percorso.
Solo Tapaya Terminal
Senza SDK: apra Tapaya Terminal con un intent o un deeplink e interroghi periodicamente lo stato del pagamento.
Configurare l'account integratore
Prima di scrivere codice, configuri l'account con cui il Suo backend si autenticherà:
- Si registri su platform.tapaya.com/register. La registrazione è self-service: non serve alcun invito.
- Acceda, quindi crei la Sua organizzazione o si unisca a una esistente; Le verrà richiesto automaticamente subito dopo la registrazione.
- Generi il Suo Server Secret Token dalla pagina delle chiavi API: il Suo backend lo usa per chiamare la Tapaya Platform API (consulti autenticazione della Platform API).
Non è l'onboarding degli esercenti
Questa è la configurazione dell'account per Lei, l'integratore. I Suoi esercenti completano l'onboarding separatamente, tramite
l'SDK, la Tapaya Platform UI, una Sua interfaccia o un link di invito. Per i dettagli consulti Onboarding
degli esercenti. POST /merchant/auth/register crea soltanto il record di base
dell'esercente; l'onboarding ospitato tramite invito inizia con POST /integrator/merchant/send-registration-invite.
Il resto di questa guida spiega come aggiungere l'SDK al progetto, autenticare una sessione ed eseguire la prima transazione.
Aggiungere la dipendenza
Su Android l'SDK è pubblicato su Maven Central; su React Native si installa da npm con
npx expo install @tapayadot/accept-react-native e viene collegato dal suo config plugin.
dependencies {
implementation("com.tapaya:accept:1.15.0")
}Sincronizzi il progetto (Android) o esegua npx expo prebuild --clean (React Native), quindi inizializzi l'SDK ed esegua
l'autenticazione nel codice dell'applicazione.
// Step 1: Initialize (once, in Application.onCreate)
Accept.initialize(this) // sandbox by default; pass isProduction = true to go liveAutentichi una sessione dell'esercente con un token ottenuto dal Suo backend.
authenticate è una funzione suspend e in caso di errore genera un'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 dell'esercente
Prima che qualsiasi transazione sia consentita, l'esercente deve completare l'onboarding KYB. L'onboarding non è più gestito dall'Accept SDK. Lo completi tramite la Tapaya Platform UI, una Sua interfaccia basata sulla Tapaya API o un link di invito. Tutti i metodi sono descritti in Onboarding degli esercenti.
Approvazione automatica in sandbox
Nell'ambiente sandbox gli esercenti vengono approvati automaticamente subito dopo l'onboarding, quindi non deve attendere la verifica del processore di pagamento.
Verificare che l'esercente sia pronto
Si assicuri che l'esercente abbia completato l'onboarding e sia approvato per accettare pagamenti.
val ready = when (val status = Accept.merchant.onboardingStatus()) {
OnboardingStatus.ReadyForPayments -> true
is OnboardingStatus.RequiresAction -> false // status.state describes what's blocking
}L'esercente è pronto solo dopo l'approvazione del processore di pagamento. Se mancano alcune informazioni, l'onboarding deve essere ripetuto. In alcuni casi il processore di pagamento potrebbe bloccare completamente l'esercente, ad esempio se vende merci vietate.
Installare e attivare il terminale
App plugin obbligatoria
I pagamenti con carta richiedono che sul dispositivo sia installato il plugin Tapaya Accept.
Usi Accept.plugin.isInstalled() per verificarlo e Accept.plugin.install() per aprire la scheda
nello store se manca.
Il plugin Tapaya Accept è obbligatorio per i pagamenti con carta. Verifichi se è installato, quindi attivi il terminale, oppure apra la scheda nel Play Store per installarlo.

if (Accept.plugin.isInstalled()) {
// suspend; returns ActivateTerminalResult (Success / Canceled / Failed)
Accept.plugin.activateTerminal()
} else {
Accept.plugin.install() // opens the store listing
}Creare una transazione di pagamento
Per eseguire una transazione, chiami Accept.payments.pay() con l'importo (nell'unità minima della valuta)
e un codice valuta ISO 4217. Restituisce un Flow<PaymentEvent>; lo raccolga per seguire l'avanzamento e
l'esito finale. pay() non genera mai eccezioni: gli errori arrivano come PaymentEvent.CreationFailed.
La guida rapida richiede solo amount e currency. Per tutti i parametri facoltativi, come una mancia fissa, le personalizzazioni
della ricevuta o i metadati, consulti Creare un pagamento.

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())
}
}Panoramica
Accetti pagamenti con carta ovunque i Suoi esercenti incontrino i loro clienti, dal bancone del negozio al tavolo del ristorante fino alla colonnina di ricarica per veicoli elettrici, sugli smartphone e sui tablet che già utilizzano.
Test / sandbox
Scopra come convalidare l'integrazione utilizzando l'ambiente sandbox.