Démarrage rapide
AndroidDécouvrez comment installer le SDK, configurer votre environnement et réaliser votre première transaction.
L’Accept SDK s’exécute dans votre application et gère les paiements sur l’appareil : il capte la carte ou le paiement Tap to Pay, chiffre les données et tient la manipulation des cartes à l’écart de votre code, ce qui vous maintient hors du périmètre PCI. Votre backend authentifie chaque session du SDK auprès de l’API Tapaya, effectue l’onboarding des commerçants et déclenche le KYB. Tapaya réalise les contrôles KYB et règle les fonds au commerçant.
Choisir votre mode d’intégration
Il existe deux façons d’accepter des paiements par carte avec Tap to Pay. Toutes deux confient l’interaction avec la carte à l’application plugin Tapaya Terminal installée sur le même appareil. Elles se distinguent par la part de ce relais que votre application prend en charge :
Accept SDK (recommandé)
Intégrez le SDK dans votre application Android et recevez le résultat dans des callbacks. Ce guide couvre cette approche.
Tapaya Terminal uniquement
Sans SDK : ouvrez Tapaya Terminal avec un intent ou un deeplink et interrogez régulièrement le statut du paiement.
Configurer votre compte intégrateur
Avant d’écrire la moindre ligne de code, configurez le compte auprès duquel votre backend s’authentifiera :
- Inscrivez-vous sur platform.tapaya.com/register. L’inscription est en libre-service : aucune invitation n’est requise.
- Connectez-vous, puis créez ou rejoignez votre organisation ; cela vous est demandé automatiquement juste après l’inscription.
- Générez votre Server Secret Token depuis la page API Keys : votre backend l’utilise pour appeler la Tapaya Platform API (voir Authentification de la Platform API).
À ne pas confondre avec l’onboarding des commerçants
Il s’agit de la configuration du compte pour vous, l’intégrateur. L’onboarding de vos commerçants se fait séparément, via
le SDK, la Tapaya Platform UI, votre propre interface ou un lien d’invitation. Consultez Onboarding des
commerçants pour plus de détails. POST /merchant/auth/register crée uniquement la fiche
commerçant de base ; l’onboarding hébergé sur invitation commence par POST /integrator/merchant/send-registration-invite.
La suite de ce guide explique comment ajouter le SDK à votre projet, authentifier une session et réaliser votre première transaction.
Ajouter la dépendance
Sur Android, le SDK est publié sur Maven Central ; sur React Native, il s’installe depuis npm avec
npx expo install @tapayadot/accept-react-native et est configuré par son plugin de configuration.
dependencies {
implementation("com.tapaya:accept:1.15.0")
}Synchronisez le projet (Android) ou exécutez npx expo prebuild --clean (React Native), puis initialisez le SDK et
authentifiez-vous dans le code de votre application.
// Step 1: Initialize (once, in Application.onCreate)
Accept.initialize(this) // sandbox by default; pass isProduction = true to go liveAuthentifiez une session commerçant avec un jeton obtenu depuis votre backend.
authenticate est une fonction suspend qui lève une AcceptException en cas d’échec.
// 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
}Effectuer l’onboarding du commerçant
Avant de pouvoir effectuer la moindre transaction, le commerçant doit terminer l’onboarding KYB. L’onboarding n’est plus piloté par l’Accept SDK. Effectuez-le via la Tapaya Platform UI, votre propre interface s’appuyant sur l’API Tapaya, ou un lien d’invitation. Consultez Onboarding des commerçants pour toutes les méthodes.
Approbation automatique dans la sandbox
Dans l’environnement sandbox, les commerçants sont automatiquement approuvés juste après l’onboarding : vous n’avez donc pas à attendre l’examen du processeur de paiement.
Vérifier que le commerçant est prêt
Assurez-vous que le commerçant a terminé l’onboarding et qu’il est approuvé pour accepter des paiements.
val ready = when (val status = Accept.merchant.onboardingStatus()) {
OnboardingStatus.ReadyForPayments -> true
is OnboardingStatus.RequiresAction -> false // status.state describes what's blocking
}Le commerçant n’est prêt qu’une fois approuvé par le processeur de paiement. S’il manque des informations, l’onboarding doit être recommencé. Dans certains cas, le processeur de paiement peut bloquer complètement le commerçant, par exemple s’il vend des produits interdits.
Installer et activer le terminal
Application plugin requise
Les paiements par carte nécessitent que le plugin Tapaya Accept soit installé sur l’appareil.
Utilisez Accept.plugin.isInstalled() pour le vérifier, et Accept.plugin.install() pour ouvrir sa fiche
dans le store s’il est absent.
Le plugin Tapaya Accept est requis pour les paiements par carte. Vérifiez s’il est installé, puis activez le terminal, ou ouvrez sa fiche sur le Play Store pour l’installer.

if (Accept.plugin.isInstalled()) {
// suspend; returns ActivateTerminalResult (Success / Canceled / Failed)
Accept.plugin.activateTerminal()
} else {
Accept.plugin.install() // opens the store listing
}Créer une transaction de paiement
Pour exécuter une transaction, appelez Accept.payments.pay() avec le montant (dans la plus petite unité de la devise)
et un code de devise ISO 4217. La méthode renvoie un Flow<PaymentEvent> ; collectez-le pour suivre la progression et
le résultat final. pay() ne lève jamais d’exception : les échecs arrivent sous forme de PaymentEvent.CreationFailed.
Le démarrage rapide ne nécessite que amount et currency. Pour tous les paramètres facultatifs, comme un pourboire fixe, la personnalisation
du reçu ou les métadonnées, consultez Créer un paiement.

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())
}
}Présentation
Acceptez les paiements par carte partout où vos commerçants rencontrent leurs clients, du comptoir de la boutique à la table du restaurant et à la borne de recharge pour véhicules électriques, sur les téléphones et tablettes qu’ils utilisent déjà.
Tests / sandbox
Découvrez comment valider votre intégration dans l’environnement sandbox.