Se connecter à un lecteur
Connectez votre application à un lecteur Stripe Terminal.
Remarque
Si vous n’avez pas encore choisi de lecteur, comparez les lecteurs Terminal et sélectionnez celui qui répond le mieux à vos besoins.
Tap to Pay permet aux utilisateurs d’accepter des paiements sans contact par TPE avec des appareils Android compatibles équipés de la technologie NFC ou des iPhones compatibles. Tap to Pay prend en charge les cartes sans contact Visa, Mastercard et American Express, ainsi que les portefeuilles mobiles NFC (Apple Pay, Google Pay et Samsung Pay). La prise en charge de Tap to Pay sur iPhone et Android est incluse dans les SDK Terminal natifs et permet d’effectuer des paiements directement depuis votre application mobile.
Suivez ces étapes pour connecter votre application au lecteur Tap to Pay sur un appareil compatible :
- Détectez des lecteurs à l’aide du SDK pour confirmer la compatibilité des appareils.
- Connectez-vous à un lecteur à l’aide du SDK pour accepter des paiements.
- Gérez les déconnexions inattendues pour vous assurer que votre utilisateur puisse continuer à accepter des paiements si le lecteur se déconnecte de manière inattendue.
Détecter les lecteurs
Utilisez la méthode discoverReaders
pour déterminer la prise en charge matérielle de Tap to Pay sur votre appareil.
Si vous exécutez votre application sur un appareil qui ne répond pas aux exigences ci-dessus, la méthode discoverReaders
renvoie une erreur.
export default function DiscoverReadersScreen() { const { discoverReaders, discoveredReaders } = useStripeTerminal({ onUpdateDiscoveredReaders: (readers) => { // The `readers` variable will contain an array of all the discovered readers. }, }); useEffect(() => { const { error } = await discoverReaders({ discoveryMethod: 'tapToPay', }); }, [discoverReaders]); return <View />; }
Se connecter à un lecteur
Pour accepter les paiements Tap to Pay, communiquez le lecteur détecté au cours de l’étape précédente à la méthode connectReader
.
Vous devez enregistrer votre lecteur en l’associant à un emplacement lors de la connexion. Pour ce faire, vous devez transmettre l’ID de l’emplacement correspondant à connectReader
.
Si vous utilisez des paiements indirects avec on_behalf_of sur un iPhone, vous devez également fournir l’ID du compte connecté.
const { reader, error } = await connectReader({ reader: selectedReader, locationId:
}, 'tapToPay' ); if (error) { console.log('connectTapToPayReader error:', error); return; } console.log('Reader connected successfully', reader);'{{LOCATION_ID}}'
Liens avec les comptes et conditions générales d’Apple
La première fois que vous vous connectez au lecteur, vous voyez les conditions générales d’Apple Tap to Pay sur iPhone. Pour s’enregistrer auprès d’Apple, les commerçants doivent spécifier un ID Apple valide, qui sera utilisé pour leur entreprise, puis accepter les conditions énoncées par Apple. Vous n’avez besoin d’effectuer cette opération qu’une seule fois par compte Stripe. Le compte n’a pas besoin de répéter ce processus lors de connexions ultérieures, y compris sur d’autres appareils mobiles.
Chaque compte connecté doit accepter les conditions générales si :
- Un utilisateur Connect crée des paiements directs
- Un utilisateur Connect crée un paiement indirect et spécifie un compte
on_
behalf_ of

Associer votre identifiant Apple pour accepter les paiements Tap to Pay
Tout iPhone peut utiliser jusqu’à 3 comptes Stripe uniques dans les applications au cours d’une période de 24 heures lors de l’appel de la méthode connectReader
pour Tap to Pay sur iPhone. Si des comptes supplémentaires sont utilisés pour l’appareil au cours de la même période de 24 heures, la méthode connectReader
génère une erreur SCPErrorTapToPayReaderMerchantBlocked.
Pour en savoir plus sur la liaison de comptes, consultez la section Informations de l’entreprise de la FAQ d’Apple dédiée à Tap to Pay sur iPhone.
Gérer les déconnexions inattendues
Des déconnexions inattendues peuvent se produire entre votre application et le lecteur. Par exemple, le lecteur Tap to Pay peut se déconnecter de manière inattendue lorsque l’appareil perd la connexion à Internet et lorsque le système d’exploitation Android met fin au service de lecteur Tap to Pay en raison de contraintes de mémoire.
Lors de la phase de test, vous pouvez simuler une déconnexion inattendue en désactivant l’accès à Internet sur votre appareil.
Tentative de reconnexion automatique
Lorsqu’une déconnexion inattendue se produit, Stripe tente automatiquement une reconnexion par défaut et vous recommandons d’afficher dans votre application des notifications qui indiquent l’état du lecteur tout au long du processus.
const { reader, error } = await connectReader({ reader, autoReconnectOnUnexpectedDisconnect: true, // default setting }, 'tapToPay' ); if (error) { console.log('connectReader error:', error); return; } console.log('Reader connected successfully', reader);
Lorsque le SDK tente de se reconnecter automatiquement, les événements suivants se produisent :
- Le SDK vous envoie la notification
onDidStartReaderReconnect
. Assurez-vous que votre application annonce que la connexion a été perdue et qu’une reconnexion est en cours.- Vous pouvez utiliser l’objet
cancelReaderReconnection
pour arrêter la tentative de reconnexion à tout moment.
- Vous pouvez utiliser l’objet
- Si le SDK parvient à se reconnecter au lecteur, Stripe vous envoie une notification
onDidSucceedReaderReconnect
. Assurez-vous que votre application signale à l’utilisateur que la connexion a été restaurée et qu’il peut reprendre ses opérations habituelles. - Si le SDK ne parvient pas à se reconnecter au lecteur, Stripe vous envoie une notification
onDidFailReaderReconnect
etonDidDisconnect
. Assurez-vous que votre application signale à l’utilisateur qu’une déconnexion inattendue s’est produite.
const { discoverReaders, connectedReader, discoveredReaders } = useStripeTerminal({ onDidStartReaderReconnect: (disconnectReason) => { // 1. Notified at the start of a reconnection attempt // Use cancelable to stop reconnection at any time }, onDidSucceedReaderReconnect: () => { // 2. Notified when reader reconnection succeeds // App is now connected }, onDidFailReaderReconnect: (): => { // 3. Notified when reader reconnection fails // App is now disconnected } });
Gérer la déconnexion manuellement
Pour gérer la déconnexion vous-même, définissez autoReconnectOnUxpectedDisconnect
sur false
et implémentez le rappel onDidReportUnexpectedReaderDisconnect
. Cela permet à votre application de se reconnecter au lecteur Tap to Pay et, le cas échéant, d’informer l’utilisateur du problème et de lui indiquer comment activer l’accès à Tap to Pay. Les utilisateurs finaux peuvent résoudre certaines erreurs, telles que les problèmes de connexion à Internet.
const { discoverReaders, connectedReader, discoveredReaders } = useStripeTerminal({ onDidReportUnexpectedReaderDisconnect: (readers) => { // Consider displaying a UI to notify the user and start rediscovering readers }, });
Prochaines étapes
Vous avez connecté votre application au lecteur. Vous pouvez maintenant encaisser votre premier paiement avec Stripe Terminal.
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.