Liste de contrôle pour le déploiement
Cette liste de contrôle vous aidera à facilement déployer Stripe Terminal.
Stripe Terminal nécessite d’intégrer des éléments matériels et logiciels pour amener Stripe dans le monde physique. Lorsque vous développez votre intégration, consultez cette liste de contrôle pour ne pas oublier certaines étapes essentielles.
Si l’ordre de la liste ne doit pas être nécessairement respecté, vous devez toutefois comprendre comment fonctionne une intégration Terminal pour pouvoir faire le lien entre toutes ses étapes.
Après avoir suivi les guides d’intégration de Stripe Terminal, vérifiez que votre application est correctement configurée.
Pour gérer le cycle de vie du token de connexion, configurez un endpoint sur votre serveur back-end, qui utilise votre clé API Stripe secrète pour créer un token de connexion pour votre application cliente. Suivez les bonnes pratiques et n’exposez, n’intégrez ni ne codez jamais en dur votre clé secrète dans votre application cliente (cela peut empêcher la reconnexion à un lecteur). Il est nécessaire de s’identifier auprès de cet endpoint pour contrôler qui peut accéder à vos lecteurs. Pour les lecteurs intelligents, transmettez un
emplacementlors de la création d’un token de connexion pour restreindre l’accès aux lecteurs assignés à cet Emplacement. Pour les lecteurs mobiles et les lecteurs Tap to Pay, vous associez le lecteur à un emplacement au moment de la connexion.Ne provisionnez pas de tokens de connexion directement depuis votre application cliente
Le provisionnement de tokens directement depuis votre application cliente nécessite l’intégration de votre clé API Stripe secrète dans le code côté client, ce qui l’expose aux clients finaux et crée un risque de sécurité important. Créez toujours les tokens de connexion depuis votre serveur back-end. Découvrez d’autres bonnes pratiques pour la gestion des clés API secrètes.
Avant de déployer des lecteurs intelligents, confirmez que votre réseau répond aux exigences de réseau pour Terminal. Les principales exigences comprennent :
- Les réseaux Wi-Fi doivent être protégés par un mot de passe, en utilisant le chiffrement WPA/WPA2/WPA3-Personnel ou WPA2/WPA3 EAP-PEAP Entreprise
- Votre réseau doit prendre en charge IPv4 (les réseaux exclusivement IPv6 ne sont pas pris en charge, mais la double pile est prise en charge)
- Votre pare-feu doit autoriser le trafic sortant vers tous les endpoints Stripe obligatoires. Les endpoints bloqués sont une cause courante d’échec de connectivité des lecteurs, qui peut être difficile à diagnostiquer.
- Pour les intégrations SDK, le lecteur et votre appareil de point de vente doivent être sur le même réseau local, et votre configuration DHCP doit permettre aux lecteurs de conserver la même adresse IP pendant au moins toute une journée de travail.
Si le signal Wi-Fi est faible ou peu fiable, envisagez d’utiliser Ethernet avec le hub S700/S710 ou la station d’accueil WisePOS E.
Après avoir connecté un lecteur intelligent, exécutez les diagnostics intégrés pour vérifier la résolution DNS, la connectivité Stripe et la force du signal.
Utilisez le lecteur de simulation pour tester l’ensemble de votre tunnel de paiement en mode test avant de déployer du matériel physique. Testez les paiements réussis, les cartes refusées et les interruptions de connexion. Lorsque vous êtes prêt pour les tests en conditions réelles, utilisez des cartes de test physiques avec un lecteur réel. Commandez les cartes de test et les appareils à l’avance pour éviter les retards.
Lorsque le paramètre capture_method du PaymentIntent est défini sur
manual, le paiement est autorisé, mais pas capturé lorsque le SDK renvoie un PaymentIntent traité à votre application. Pour finaliser l’encaissement des fonds, vous devez capturer le PaymentIntent.Lorsque votre application reçoit un PaymentIntent traité provenant du SDK, vérifiez qu’elle demande à votre back-end de capturer le PaymentIntent.
Votre application doit gérer les erreurs telles que les paiements refusés, les délais d’attente du réseau et les déconnexions de lecteur pendant une transaction. Veillez à :
- Afficher des messages d’erreur clairs à l’intention de l’opérateur en cas d’échec de paiement.
- Permettre une nouvelle tentative de paiement sans exiger du client qu’il représente sa carte bancaire (lorsque cela est possible).
- Gérer le cas où une requête de capture échoue après une autorisation réussie, afin d’éviter les fonds non capturés.
- En cas d’interruption du réseau au cours du paiement, utilisez le même ID de PaymentIntent pour récupérer son état et déterminer s’il faut réessayer ou reprendre l’opération. La réutilisation du même ID de PaymentIntent évite de facturer deux fois le client.
Offrez à votre clientèle la possibilité de recevoir un reçu au format papier ou par e-mail. Vous pouvez utiliser les reçus préconfigurés par Stripe ou utiliser les données provenant de l’API Stripe pour créer des reçus personnalisés qui reflètent l’image de marque de votre entreprise. Faites un test pour vérifier que vous recevez bien un reçu lorsque vous créez un paiement en mode production à l’aide de votre application.
Si vous remettez à vos clients des reçus personnalisés, enregistrez une copie de chaque reçu comme élément de preuve en cas de litige. Si vous utilisez les reçus préconfigurés de Stripe, une copie, enregistrée automatiquement, est accessible dans le Dashboard.
Rapprochez les paiements des données du système de commande interne de votre serveur après chaque journée d’activité pour éviter les erreurs d’autorisation ou les fonds non capturés :
- Si un utilisateur abandonne prématurément le tunnel de paiement de votre application, cela peut entraîner un PaymentIntent non capturé, qui peut apparaître au titulaire de la carte comme une autorisation non intentionnelle.
- De même, la requête envoyée par votre application pour informer votre back-end de capturer le PaymentIntent peut échouer, ce qui entraîne un recouvrement de fonds incomplet.
Configurez des webhooks pour écouter les événements liés à Terminal et maintenir votre système synchronisé avec Stripe. Pour toutes les intégrations, les événements importants comprennent :
payment_etintent. succeeded payment_pour les résultats de paiementintent. payment_ failed charge.pour les notifications de remboursementrefunded
Pour les intégrations pilotées par le serveur, des webhooks sont nécessaires pour recevoir les résultats des actions de manière asynchrone :
terminal.etreader. action_ succeeded terminal.pour les résultats des actions du lecteurreader. action_ failed
Stripe et ses partenaires matériels publient régulièrement des mises à jour logicielles du lecteur, qui peuvent inclure de nouvelles fonctionnalités, des corrections de bogues et des correctifs de sécurité obligatoires.
- Les lecteurs intelligents (Stripe Reader S700/S710, BBPOS WisePOS E) se mettent à jour automatiquement lorsqu’ils sont connectés à Internet. Aucune action n’est requise de la part de votre application, mais les mises à jour peuvent entraîner le redémarrage des lecteurs. Évitez de planifier des mises à jour pendant les heures d’ouverture en configurant des fenêtres de mise à jour.
- Les lecteurs mobiles (SDK uniquement) (Stripe Reader M2, BBPOS WisePad 3) se mettent à jour lorsqu’ils se connectent à votre application via le SDK pour Terminal. Votre application doit prendre en charge l’affichage de la progression de la mise à jour et ne doit pas interrompre le processus de mise à jour. Bloquez la navigation pendant les mises à jour et affichez un indicateur de progression. Le SDK pour Terminal notifie votre application des mises à jour facultatives qui finissent par devenir des mises à jour obligatoires. Installez les mises à jour facultatives dès qu’elles sont disponibles.
Le fait de ne pas installer une mise à jour obligatoire peut empêcher un lecteur d’accepter des paiements.
Pour les lecteurs intelligents tels que le Stripe Reader S700/S710 et le BBPOS WisePOS E, vous devez enregistrer le lecteur sur votre compte avant de pouvoir connecter votre application au lecteur.
La façon de gérer l’enregistrement des lecteurs dépend de votre cas d’usage :
Taille du déploiement : pour des déploiements à petite échelle, enregistrez chaque lecteur dans le Dashboard Stripe. Pour des déploiements plus larges, dans le cadre desquels des lecteurs doivent être expédiés vers plusieurs emplacements, assurez-vous que les responsables sur site peuvent ajouter de nouveaux lecteurs au compte Stripe de votre entreprise. Développez un workflow dans votre application pour autoriser d’autres personnes à enregistrer des lecteurs sur votre compte Stripe. L’endpoint pourenregistrer un lecteur doit être appelé côté serveur. Si vous prenez en charge l’enregistrement de lecteurs depuis votre application cliente, l’application doit pouvoir communiquer avec votre back-end pour enregistrer le lecteur.
Utilisation de Connect : si vous vous servez des paiements directs de Connect, utilisez l’en-tête
Stripe-Accountpour enregistrer le lecteur auprès du compte connecté. Avec les paiements indirects, enregistrez les nouveaux lecteurs sur le compte de la plateforme.
Créer un objet Location dans Terminal pour chaque site d’exploitation physique où votre entreprise accepte des paiements par TPE. Vous devez associer chaque lecteur à un emplacement pour vous assurer qu’il télécharge la configuration régionale adéquate.
Pour les lecteurs intelligents, prenez en charge la spécification d’un emplacement pendant l’enregistrement du lecteur. Pour les lecteurs Bluetooth, prenez en charge la spécification d’un emplacement pendant la connexion au lecteur.
Vérifiez que votre application peut afficher une liste actualisée des lecteurs découverts, avec l’étiquette et/ou le numéro de série de chacun. Reportez-vous à nos exemples d’applications pour consulter un modèle d’interface utilisateur.
- Réseau local : si votre lecteur intelligent et votre appareil de point de vente sont sur le même réseau local, incluez des instructions dans votre application pour vérifier que les deux appareils sont sur le bon réseau.
- Bluetooth (Stripe Reader M2, BBPOS WisePad 3) : les lecteurs mobiles utilisent le scan Bluetooth pour détecter les lecteurs à proximité. Cette détection est prise en charge sur les SDK pour iOS, Android et React Native. Affichez une liste mise à jour automatiquement des lecteurs détectés avec leurs numéros de série, et autorisez les utilisateurs à annuler le processus de détection. Si le Bluetooth est instable en raison d’interférences dans votre cadre d’exploitation, envisagez la connectivité USB comme une solution plus fiable (généralement disponible sur le SDK pour Android ; veuillez nous contacter pour obtenir un accès à SDK pour iOS).
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 :
Le code d’accès par défaut du menu administrateur pour vos lecteurs intelligents est
07139. Pour des raisons de sécurité, vous devez définir votre propre code d’accès personnalisé à 5 chiffres.Déterminez comment votre application gère les situations où le lecteur ou votre appareil de point de vente perd la connectivité Internet :
- Si la fiabilité de la connectivité n’est pas garantie sur vos lieux de déploiement, envisagez d’activer le mode hors ligne. Le mode hors ligne est pris en charge à la fois sur les lecteurs intelligents (Stripe Reader S700/S710, BBPOS WisePOS E) et les lecteurs mobiles (Stripe Reader M2, BBPOS WisePad 3) utilisant des intégrations SDK. Comprenez les risques et les limites des paiements hors ligne avant de l’activer.
- Si vous n’utilisez pas le mode hors ligne, assurez-vous que votre application affiche un message clair en cas de perte de connectivité et empêche toute tentative de paiement jusqu’à ce que la connexion soit rétablie.
- Pour les intégrations SDK, gérez les événements de déconnexion du lecteur et fournissez un flux de reconnexion. Pour les lecteurs mobiles et les lecteurs Tap to Pay, le SDK prend en charge la reconnexion automatique par défaut. Assurez-vous que votre application affiche des messages d’état appropriés pendant les tentatives de reconnexion.
Les nom et logo BBPOS et Chipper™ sont des marques ou marques déposées de BBPOS Limited aux États-Unis et/ou dans d’autres pays. Les nom et logo Verifone® sont des marques ou marques déposées de Verifone aux États-Unis et/ou dans d’autres pays. L’utilisation de ces marques n’implique aucune approbation de la part de BBPOS ou Verifone.