Tapaya
Accettazione in presenzaPrimi passiGuida rapida

Guida rapida

Android

Scopra 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:

Configurare l'account integratore

Prima di scrivere codice, configuri l'account con cui il Suo backend si autenticherà:

  1. Si registri su platform.tapaya.com/register. La registrazione è self-service: non serve alcun invito.
  2. Acceda, quindi crei la Sua organizzazione o si unisca a una esistente; Le verrà richiesto automaticamente subito dopo la registrazione.
  3. 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.

build.gradle.kts
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.

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

Autentichi 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.

Plugin

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.

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())
        }
    }
Manca qualcosa in questa pagina?Richieda una funzionalità. Alleghiamo questa pagina, così il team vede il contesto.