Configurer votre intégration
Configurez un SDK Stripe Terminal ou une intégration pilotée par serveur pour accepter les paiements par TPE.
Pour démarrer avec le SDK Android, suivez ces quatre étapes :
- Installer le SDK dans votre application.
- Configurer votre application.
- Configurer l’endpoint du token de connexion dans votre application et votre back-end.
- Initialiser le SDK dans votre application.
Installer le SDKCôté client
Mise en garde
Le SDK n’est plus compatible avec les bibliothèques d’assistance, car nous utilisons Room pour enregistrer et gérer l’état de l’application tout au long de son cycle de vie. Assurez-vous que votre application a migré vers AndroidX.
Pour installer le SDK, ajoutez stripeterminal
au bloc dependencies
du fichier build de votre application :
Ensuite, étant donné que le SDK repose sur Java 8, le fichier de build de votre application doit l’indiquer en précisant la version Java cible :
Remarque
Pour obtenir de plus amples informations sur la version la plus récente du SDK et ses versions antérieures, consultez la page des versions sur GitHub. Pour savoir quand une nouvelle version est disponible, surveillez les versions du référentiel.
Pour en savoir plus sur la migration depuis une version bêta antérieure du SDK Android, consultez le Guide de migration vers Stripe Terminal Bêta.
Configurer votre applicationCôté client
Vous devez activer l’autorisation ACCESS_
. Pour connecter un lecteur Bluetooth, vous devez également activer les autorisations Bluetooth. Ajoutez les autorisations appropriées à votre manifeste, comme indiqué ici :
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="30" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30" /> <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" /> <uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
Avant d’initialiser l’objet Terminal, ajoutez la vérification suivante afin de vérifier que l’autorisation ACCESS_
est activée dans votre application :
Vérifiez également que l’utilisateur de l’application accorde l’autorisation d’accéder aux emplacements ; le SDK ne peut fonctionner sans elle. À cet effet, remplacez la méthode onRequestPermissionsResult
dans votre application et vérifiez le résultat de l’autorisation.
Remarque
Afin de réduire les risques de fraude associés aux paiements, et de limiter le nombre de litiges, Stripe a besoin de connaître le lieu où se déroulent les paiements. Si le SDK ne peut déterminer l’emplacement de l’appareil Android, les paiements sont désactivés jusqu’à ce que l’accès à l’emplacement soit rétabli.
Configurer l'endpoint ConnectionTokenCôté serveurCôté client
Côté serveur
Pour se connecter à un lecteur, votre back-end doit donner au SDK la permission d’utiliser le lecteur avec votre compte Stripe en lui fournissant la clé secrète d’un ConnectionToken. Votre back-end doit créer des tokens de connexion uniquement pour les clients qu’il reconnaît comme fiables.
Obtenez la clé secrète à partir du ConnectionToken
sur votre serveur et transmettez-la côté client.
Mise en garde
Le secret
du ConnectionToken
vous permet de vous connecter à n’importe quel lecteur Stripe Terminal et de traiter les paiements à l’aide de votre compte Stripe. Veillez à authentifier l’endpoint pour créer des tokens de connexion et à le protéger contre la falsification des requêtes intersites (CSRF).
Côté client
Afin de permettre au SDK d’accéder à cet endpoint, déployez l’interface ConnectionTokenProvider dans votre application. Celle-ci définit une fonction unique qui demande un ConnectionToken
à votre back-end.
Cette fonction est appelée dès lors que le SDK doit s’authentifier auprès de Stripe ou du lecteur. Elle est également appelée lorsqu’un nouveau token est nécessaire pour se connecter à un lecteur (par exemple, lorsque votre application s’est déconnectée du lecteur). Si le SDK n’est pas en mesure de récupérer un nouveau jeton de connexion depuis votre backend, la connexion au lecteur échoue associée à une erreur de votre serveur.
Mise en garde
Ne mettez pas en cache et ne codez pas en dur le token de connexion. Le SDK gère le cycle de vie du token.
Épinglage des certificats
Dans la plupart des cas, vous ne devez pas configurer votre application avec l’épinglage de certificats. Si votre application l’exige, consultez la documentation sur l’épinglage des certificats.
Initialiser le SDKCôté client
Le SDK Android est sensible au cycle de vie. Pour éviter les fuites de mémoire et garantir un nettoyage approprié des processus de longue durée du SDK Terminal, votre application doit implémenter une sous-classe Application
qui utilise TerminalApplicationDelegate.
pour informer le SDK des événements de cycle de vie.
Remarque
Si vous souhaitez utiliser Tap to Pay sur Android (TTPA), l’initialisation dans Application
est légèrement différente de cet exemple. Consultez Se connecter à un lecteur avec TTPA.
La classe Terminal mise à disposition par le SDK Stripe Terminal dispose d’une interface générique permettant de détecter les lecteurs, de se connecter à un lecteur et d’effectuer des opérations sur le lecteur, telles que l’affichage des informations du panier, l’encaissement de paiements et l’enregistrement de cartes bancaires pour une utilisation ultérieure.
Pour commencer, fournissez le contexte actuel de l’application, le ConnectionTokenProvider implémenté à l’Étape 3 et un objet TerminalListener. Vous pouvez utiliser cet écouteur pour gérer des événements tels que des paiements et des mises à jour de l’état de la connexion à partir du SDK.
Mise en garde
Si vous effectuez actuellement une mise à niveau à partir d’une version antérieure à 1.
, veuillez noter que les classes TerminalLifecycleObserver
et Application
sont désormais obligatoires.
Mises à jour du SDK
Stripe publie régulièrement des mises à jour qui peuvent inclure de nouvelles fonctionnalités, des corrections de bugs et des mises à jour de sécurité. Mettez à jour votre SDK dès qu’une nouvelle version est disponible. Les SDK actuellement disponibles sont les suivants :
- SDK Stripe Terminal Android
- SDK Stripe Terminal iOS
- SDK Stripe Terminal JavaScript
- SDK Stripe Terminal React Native