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.
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 le SDK.
- Se connecter à un lecteur avec le SDK
Enregistrer un lecteurCôté serveur
Avant de pouvoir connecter votre application à un lecteur intelligent, vous devez enregistrer le lecteur sur votre compte.
Détecter les lecteursCôté client
Après avoir enregistré le lecteur sur votre compte, recherchez les lecteurs précédemment enregistrés afin de vous connecter à votre application de point de vente avec discoverReaders en utilisant InternetDiscoveryConfiguration.
Vous pouvez affiner votre recherche en spécifiant l’emplacement location dans lequel vous avez enregistré le lecteur lors de l’étape précédente.
Lors de la découverte de lecteurs intelligents, la méthode DiscoveryDelegate. n’est sollicitée qu’une fois par appel à discoverReaders. didUpdateDiscoveredReaders renvoie une liste vide de lecteurs lorsqu’aucun lecteur n’est enregistré ou qu’aucun lecteur n’est associé à l’emplacement donné. Si vous sollicitez ultérieurement discoverReaders pour rafraîchir la liste, vous devez au préalable annuler l’appel précédent avec le Cancelable retourné par discoverReaders.
InternetDiscoveryConfiguration prend en charge une valeur facultative timeout pour la détection des lecteurs en ligne. Cela permet d’accélérer la détection des lecteurs hors ligne en cas d’échec de la tentative en ligne.
Se connecter à un lecteurCôté client
Remarque
Dans la version 5. du SDK iOS, vous pouvez utiliser la méthode easyConnect pour combiner la détection du lecteur et la connexion en un seul appel API. Pour plus d’informations, consultez le guide de migration du SDK.
Pour connecter votre application de point de vente à un lecteur, appelez connectReader avec le lecteur sélectionné en utilisant la fonction InternetConnectionConfiguration.
Connexions multiples
Une seule instance du SDK Stripe Terminal peut se connecter à un lecteur à la fois. Par défaut, lorsque vous appelez connectReader à partir d’une autre application, la connexion entrante remplace la connexion existante entre le SDK et le lecteur, et le SDK précédemment connecté se déconnecte du lecteur. La méthode connectReader utilise un objet 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 où la connexion entrante échoue lorsque le lecteur est au milieu d’un appel collectPaymentMethod ou confirmPaymentIntent lancé par un SDK. Si le lecteur est connecté à un 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. La demande de connexion entrante peut toujours interrompre la connexion SDK-lecteur existante.
| failIfInUse est « false » (par défaut) | failIfInUse est « true » | |
|---|---|---|
connectReader appelé depuis un nouveau SDK lorsque le lecteur est inactif. | La connexion SDK-lecteur existante est interrompue, et le nouveau SDK se connecte au lecteur. La commande suivante du SDK précédemment connecté échoue avec une erreur de lecteur, et la méthode didDisconnect de cette application est appelée. | La connexion SDK-lecteur existante est interrompue, et le nouveau SDK se connecte au lecteur. La commande suivante du SDK précédemment connecté échoue avec une erreur de lecteur, et la méthode didDisconnect de cette application est appelée. |
connectReader appelé depuis un nouveau SDK lorsque le lecteur est en train d’effectuer une transaction. | La connexion SDK-lecteur existante est interrompue, et le nouveau SDK se connecte au lecteur. La commande suivante du SDK précédemment connecté échoue avec une erreur de lecteur, et la méthode didDisconnect de cette application est appelée. | La connecter entrante échoue avec une erreur de lecteur. La connecter 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, vos utilisateurs ne peuvent pas interrompre accidentellement une transaction en se connectant par inadvertance à un lecteur en cours d’utilisation, mais peuvent toujours se connecter si nécessaire.
Gérer les déconnexions
Votre application doit mettre en place le rappel reader(_ afin de remédier à toute déconnexion du lecteur. Lors de la mise en place de ce rappel, affichez une interface utilisateur qui informe l’utilisateur du que le lecteur est déconnecté. Vous pouvez appeler discoverReaders pour rechercher des lecteurs et initier 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 la connexion au réseau. Pour simuler une déconnexion inattendue, éteignez le lecteur.
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.
- Lorsque vous vous connectez à un lecteur, enregistrez son numéro de série dans un emplacement de stockage persistant, comme l’API UserDefaults (iOS).
- Au lancement de votre application, vérifiez si un numéro de série enregistré se trouve dans cet emplacement persistant. Si vous en trouvez un, appelez la méthode
discoverReadersafin que votre application puisse essayer de retrouver le lecteur. - Si le numéro de série enregistré correspond à l’un des lecteurs détectés, essayez de vous connecter à ce lecteur à l’aide de l’objet Reader correspondant renvoyé par l’appel à
discoverReaders. Si le lecteur en question est introuvable, mettez fin au processus de recherche.
Au cours du processus de détection et de connexion, vous pouvez afficher un message d’interface utilisateur indiquant qu’une reconnexion automatique est en cours.
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.