Se connecter à un lecteur
Associez votre application à un lecteur Stripe Terminal.
Remarques
Si vous n’avez pas encore choisi de lecteur, comparez les lecteurs Terminal et sélectionnez celui qui répond le mieux à vos besoins.
Les lecteurs intelligents exécutent le logiciel du lecteur Stripe pour communiquer directement avec Stripe via Internet. Pour connecter votre application à un lecteur intelligent, suivez ces trois étapes :
- Enregistrer un lecteur sur votre compte Stripe.
- Détecter des lecteurs avec la trousse SDK.
- Se connecter à un lecteur avec la trousse SDK.
Enregistrer un lecteurCôté serveur
Avant de pouvoir connecter votre application à un lecteur intelligent, vous devez enregistrer le lecteur sur votre compte.
Enregistrement dans le Dashboard
Vous pouvez ajouter votre lecteur directement dans le Dashboard.
Enregistrer par code d’enregistrement
- Sur la page Lecteurs, cliquez sur Enregistrer le lecteur.
- Si vous disposez d’un lecteur P400 de Verifone, saisissez la séquence
0-7-1-3-9
pour afficher un code d’enregistrement unique. Si vous disposez d’un lecteur BBPOS WisePOS E ou d’un lecteur Stripe S700, accédez aux paramètres du lecteur, puis sélectionnez Générer un code d’association. - Saisissez le code d’enregistrement, puis cliquez sur Suivant.
- Si vous le souhaitez, vous pouvez choisir un nom pour le lecteur.
- Si vous avez déjà créé un emplacement, sélectionnez le nouvel emplacement du lecteur. Sinon, créez un Emplacement en cliquant sur + Ajouter nouveau.
- Cliquez sur Enregistrer pour terminer l’enregistrement de votre lecteur.
Enregistrer par numéro de série
- Sur la page Lecteurs, cliquez sur Enregistrer le lecteur.
- Trouvez le numéro de série sur l’appareil et saisissez-le. Pour enregistrer plusieurs appareils à la fois, vous pouvez saisir plusieurs numéros de série, séparés par des virgules.
- Si vous le souhaitez, vous pouvez choisir un nom pour le lecteur.
- Si vous avez déjà créé un emplacement, sélectionnez le nouvel emplacement du lecteur. Sinon, créez un Emplacement en cliquant sur + Ajouter nouveau.
- Cliquez sur Enregistrer pour terminer l’enregistrement de votre lecteur.
Enregistrer par commande de matériel
- Dans la page Commandes de matériel, recherchez une commande dont l’état est “expédié” ou “livré”. Cliquez sur le menu d’options supplémentaires ) au bout de la ligne, puis cliquez sur Enregistrer.
- Sur la page Enregistrer les lecteurs, sélectionnez un ou plusieurs lecteurs dans la commande de matériel à enregistrer, puis cliquez sur Enregistrer.
- Si vous le souhaitez, choisissez un nom pour le lecteur. Si vous avez sélectionné plusieurs lecteurs, le nom sert de préfixe et nous nommons les lecteurs séquentiellement (par exemple, pour une entrée donnée de « Lecteur de test », nous nommons les lecteurs « Lecteur de test 1 », « Lecteur de test 2 », etc.).
- Si vous avez déjà créé un emplacement, sélectionnez le nouvel emplacement du lecteur. Sinon, créez un Emplacement en cliquant sur + Ajouter nouveau.
- Cliquez sur Enregistrer pour terminer l’enregistrement de vos lecteurs.
Enregistrement à l’aide de l’API
Dans le cadre de déploiements de plus grande envergure, donnez à vos utilisateurs sur le terrain la possibilité de recevoir et de configurer eux-mêmes de nouveaux lecteurs. Dans votre application, créez un flux qui permet d’enregistrer un lecteur à l’aide de l’API Stripe.
- Si vous disposez d’un lecteur P400 de Verifone, saisissez la séquence
0-7-1-3-9
pour afficher un code d’enregistrement unique. Si vous disposez d’un lecteur BBPOS WisePOS E ou d’un lecteur Stripe S700, accédez aux paramètres du lecteur, puis sélectionnez Générer un code d’association. - L’utilisateur saisit le code dans votre application.
- Votre application envoie le code à Stripe :
Afin de confirmer le bon enregistrement de votre lecteur, veuillez dresser la liste de tous les lecteurs que vous avez enregistrés à cet emplacement :
Détecter les lecteursCôté client
Après avoir enregistré le lecteur sur votre compte, recherchez les lecteurs précédemment enregistrés à connecter à votre application de point de vente avec discoverReaders
, en définissant discoveryMethod
sur internet
Vous pouvez affiner vos résultats en spécifiant l’emplacement (location
) dans lequel vous avez enregistré le lecteur lors de l’étape précédente.
export default function DiscoverScreen() { const { discoverReaders, discoveredReaders } = useStripeTerminal({ onUpdateDiscoveredReaders: (readers) => { // After the SDK discovers a reader, your app can connect to it. }, }); useEffect(() => { const fetchReaders = async () => { const { error } = await discoverReaders({ discoveryMethod: 'internet', }); } fetchReaders(); }, [discoverReaders]); return <View />; }
Se connecter à un lecteurCôté client
Pour connecter votre application de point de vente à un lecteur, appelez connectReader
à l’aide du lecteur sélectionné.
const { reader, error } = await connectReader({ reader, }, 'internet' ); if (error) { console.log('connectReader error:', error); return; } console.log('Reader connected successfully', reader);
Connexions multiples
Une seule instance de la trousse SDK Stripe Terminal peut se connecter à un lecteur à la fois. Par défaut, lorsque vous appelez connectReader
depuis une autre application, la connexion entrante remplace la connexion existante entre la trousse SDK et le lecteur, et la trousse SDK précédemment connectée se déconnecte du lecteur. La méthode connectReader
utilise un objet de configuration avec une propriété failIfInUse
dont la valeur par défaut est false
. Lorsque votre application définit failIfInUse
sur true, l’appel connectReader
a un comportement alternatif dans lequel la connexion entrante échoue lorsque le lecteur est au milieu d’un appel collectPaymentMethod
ou confirmPaymentIntent
lancé par une autre trousse SDK. Si le lecteur est connecté à une autre trousse SDK, mais qu’il est inactif (il affiche l’écran d’accueil avant l’appel de collectPaymentMethod
), le paramétrage de failIfInUse
ne modifie pas le comportement de la connexion, et la demande de connexion entrante peut toujours interrompre la connexion SDK-lecteur existante.
const connectResult = await terminal.connectReader({reader, failIfInUse: true}, 'internet');
failIfInUse est sur false (par défaut) | failIfInUse est sur true | |
---|---|---|
connectInternetReader appelé depuis une nouvelle trousse SDK lorsque le lecteur est inactif. | La connexion existante entre la trousse SDK et le lecteur s’interrompt et la nouvelle trousse SDK se connecte au lecteur. La commande suivante de la trousse SDK précédemment connectée échoue avec une erreur de lecteur, et la méthode onDidReportUnexpectedReaderDisconnect de cette application est appelée. | La connexion existante entre la trousse SDK et le lecteur s’interrompt et la nouvelle trousse SDK se connecte au lecteur. La commande suivante de la trousse SDK précédemment connectée échoue avec une erreur de lecteur, et la méthode onDidReportUnexpectedReaderDisconnect de cette application est appelée. |
connectInternetReader appelé depuis une nouvelle trousse SDK lorsque le lecteur est en train d’effectuer une transaction | La connexion existante entre la trousse SDK et le lecteur s’interrompt et la nouvelle trousse SDK se connecte au lecteur. La commande suivante de la trousse SDK précédemment connectée échoue avec une erreur de lecteur, et la méthode onDidReportUnexpectedReaderDisconnect de cette application est appelée. | La connexion entrante échoue avec une erreur de lecteur. La connexion SDK-lecteur existante n’est pas interrompue et la commande en cours se poursuit. |
Pour perturber le moins possible l’expérience de connexion dans les environnements à plusieurs lecteurs, nous vous recommandons de définir la valeur failIfInUse
sur true
lors de la première tentative de connexion de votre application. Ensuite, permettez à vos utilisateurs de réessayer la connexion avec failIfInUse
sur false
si la connexion échoue la première fois.
Avec cette configuration, l’un de vos utilisateurs ne peut pas interrompre accidentellement une transaction en se connectant par inadvertance à un lecteur en cours d’utilisation, mais peut toujours se connecter si nécessaire.
Gérer les déconnexions
Votre application doit déployer le rappel onDidReportUnexpectedReaderDisconnect
afin de remédier à toute déconnexion du lecteur. Lorsque vous déployez ce rappel, affichez une interface utilisateur qui informe l’utilisateur que le lecteur est déconnecté. Vous pouvez appeler discoverReaders
pour rechercher des lecteurs et lancer une reconnexion.
Votre application peut tenter de se reconnecter automatiquement au lecteur déconnecté ou afficher une interface utilisateur qui invite l’utilisateur à se reconnecter à un autre lecteur.
Le lecteur peut se déconnecter de votre application s’il perd sa connexion réseau. Afin de simuler une déconnexion inopinée, éteignez le lecteur.
const terminal = useStripeTerminal({ onDidReportUnexpectedReaderDisconnect: (error) => { // Consider displaying a UI to notify the user and start rediscovering readers }, });
Reconnexion automatique
Stripe Terminal ne se reconnecte pas automatiquement à un lecteur au démarrage de votre application. Vous pouvez créer un flux de reconnexion en enregistrant les ID de lecteur et en essayant de vous connecter à un lecteur connu au démarrage.
Au cours du processus de recherche et de connexion, vous pouvez afficher un message d’interface utilisateur indiquant qu’une reconnexion automatique est en cours.
Prochaines étapes
Vous avez associé 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.