Configurer votre intégration
Pour démarrer avec le SDK iOS, suivez ces quatre étapes :
- Installer le SDK dans votre application
- Configurer votre application
- Configurer l’endpoint du token de connexion sur votre application et votre back-end
- Initialiser le SDK sur votre application
Installer le SDKCôté client
Le SDK Stripe Terminal iOS est compatible avec les applications qui :
- Prennent en charge iOS 13 et les versions ultérieures
- Sont installés avec CocoaPods, Swift Package Manager, ou en intégrant manuellement le framework
Note
Pour 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 sera disponible, surveillez les versions du référentiel ou abonnez-vous au flux RSS Github Releases.
Pour en savoir plus sur la migration depuis des versions antérieures du SDK iOS, consultez le guide de migration du SDK Stripe Terminal.
Configurer votre applicationCôté client
Pour que votre application puisse fonctionner avec le SDK Stripe Terminal, apportez quelques modifications à votre fichier Info.plist dans Xcode.
Activez les services de localisation avec la paire clé-valeur suivante.
Confidentialité – Description de l’utilisation de l’emplacement, le cas échéant Clé NSLocationWhenInUseUsageDescription Valeur L’accès à l’emplacement est indispensable pour accepter des paiements. 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 iOS, les paiements sont désactivés jusqu’à ce que l’accès à l’emplacement soit rétabli.
Assurez-vous que votre application fonctionne en arrière-plan et reste connectée aux lecteurs Bluetooth.
Modes d’arrière-plan requis pour les lecteurs Bluetooth Clé UIBackgroundModes Valeur bluetooth-central (Utilise les accessoires Bluetooth LE) La configuration du mode d’arrière-plan bluetooth-central permet au lecteur de rester en mode veille lorsque votre application est exécutée en arrière-plan, ou lorsque l’appareil iOS est verrouillé. Sans cette valeur, la mise en veille échoue. Lorsque votre application est exécutée en arrière-plan, le lecteur est susceptible de s’éteindre automatiquement afin d’économiser de l’énergie.
Autorisez votre application à afficher une boîte de dialogue d’autorisation Bluetooth. L’App Store exige l’intégration de cette option, même si votre application ne prend pas en charge la connexion aux lecteurs Bluetooth.
Confidentialité – Description de l’utilisation systématique du Bluetooth Clé NSBluetoothAlwaysUsageDescription Valeur Cette application utilise le Bluetooth pour se connecter aux lecteurs de cartes bancaires pris en charge. iOS 13 propose désormais des autorisations plus spécifiques concernant l’utilisation de périphériques Bluetooth par une application. Les applications associées à Core Bluetooth doivent inclure cette clé dans leur fichier Info.plist afin d’éviter que l’application ne plante lors de son premier lancement.
Passer les contrôles de validation de l’application lorsque vous la soumettez à l’App Store. À partir de la version 3.4.0 du SDK, cette exigence d’autorisation est supprimée.
Confidentialité – Description de l’utilisation du périphérique Bluetooth Clé NSBluetoothPeripheralUsageDescription Valeur La connexion aux lecteurs de cartes pris en charge nécessite un accès au Bluetooth. Ceci est un exemple ; vous pouvez reformuler la demande d’autorisation de l’utilisateur dans votre application.
Sauvegardez le fichier Info.plist de votre application. Il est désormais correctement configuré et peut être utilisé avec le SDK Stripe Terminal.
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 uniquement créer des tokens de connexion pour les clients qu’il reconnaît comme fiables.
Obtenez la clé secrète du ConnectionToken sur votre serveur et communiquez-la au client.
Mise en garde
La clé secrète 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 le protocole ConnectionTokenProvider dans votre application. Celui-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 ni ne codez 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
La classe Terminal
mise à disposition par le SDK Stripe Terminal dispose d’une interface générique permettant de rechercher un lecteur, de se connecter à un lecteur, de créer un paiement et de mettre à jour le logiciel d’un lecteur.
Pour commencer, fournissez votre ConnectionTokenProvider
utilisé à l’étape 3. Vous ne pouvez appeler setTokenProvider
qu’une seule fois dans votre application, et devez le faire avant d’accéder à Terminal.shared
. Nous vous recommandons d’appeler setTokenProvider
en utilisant la méthode application:didFinishLaunchingWithOptions
de votre AppDelegate. Vous pouvez sinon utiliser dispatch_once
dans Objective-C, ou un assistant de construction static
dans Swift.
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