Accéder directement au contenu
Créez un compte
ou
connectez-vous
Le logo de la documentation Stripe
/
Demander à l’IA
Créer un compte
Connectez-vous
Commencer
Paiements
Revenus
Plateformes et places de marché
Gestion des fonds
Ressources de développement
Aperçu
À propos des paiements Stripe
Mettre votre intégration à niveau
Analyses des paiements
Paiements en ligne
AperçuTrouver votre cas d'usageManaged Payments
Utiliser Payment Links
Créer une page de paiement
Développer une intégration avancée
Développer une intégration dans l'application
Moyens de paiement
Ajout de moyens de paiement
Gérer les moyens de paiement
Payer plus rapidement avec Link
Interfaces de paiement
Payment Links
Paiement
Web Elements
Elements dans l'application
Scénarios de paiement
Gérez plusieurs devises
Flux de paiement personnalisés
Acquisition flexible
Orchestration
Paiements en personne
Terminal
    Aperçu
    Accepter les paiements en personne
    Conception d'intégrations
    Choisir votre lecteur
    Créer une intégration
    Démarrage rapide
    Applications d'exemple
    Test
    Configuration de Terminal
    Configurer votre intégration
    Me connecter à un lecteur
      Exigences du réseau
    Acceptation d'un paiement
    Encaisser des paiements par carte
    Autres moyens de paiement
    Accepter les paiements hors ligne
    Paiement des commande par correspondance/téléphone
    Spécificités régionales
    Lors du paiement
    Collecter des pourboires
    Collecter et enregistrer des informations de paiement pour une utilisation ultérieure
    Autorisations flexibles
    Après le paiement
    Rembourser des transactions
    Fournir des reçus
    Personnalisez Checkout
    Affichage du panier
    Collecter les données saisies à l'écran
    Collecter les données des lectures de la piste magnétique
    Collecter les données des paiements NFC sans contact
    Applications sur des appareils
    Gérer les lecteurs
    Commander, renvoyer, remplacer des lecteurs
    Enregistrer des lecteurs
    Gérer les emplacements et les zones
    Configurer des lecteurs
    Contrôler les lecteurs
    Chiffrement
    Références
    Documentation sur les API
    Lecteurs mobiles
    Lecteurs intelligents
    Guide de migration du SDK
    Liste de vérification pour le déploiement
    Fiches produit du lecteur Stripe Terminal
Au-delà des paiements
Constituer son entreprise
Cryptomonnaie
Financial Connections
Climate
Comprendre la fraude
Radar pour la protection contre la fraude
Gérer les litiges
Vérifier l'identité
AccueilPaiementsTerminal

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 connectés par Bluetooth sont des appareils Bluetooth LE. Ils collectent les informations de paiement mais s’appuient sur un appareil mobile associé pour la communication avec Stripe.

Suivez ces étapes pour connecter votre application à un lecteur de terminal à l’aide du Bluetooth :

  1. Détecter des lecteurs.
  2. Se connecter à un lecteur.

Avertissement

N’utilisez pas des paramètres d’appareil mobile pour associer votre lecteur. L’association du lecteur via les paramètres de l’appareil empêche sa connexion à votre application.

Détecter les lecteurs
Côté client

Documentation de la trousse SDK

  • discoverReaders (iOS)
  • BluetoothScanDiscoveryConfiguration (iOS)

Pour commencer, assurez-vous que votre lecteur est sous tension et à proximité.

Puis, à partir de votre application, recherchez les lecteurs connectés par Bluetooth disponibles à proximité avec la méthode discoverReaders, à l’aide de BluetoothScanDiscoveryConfiguration.

DiscoverReadersViewController.swift
Swift
Objective C
No results
import StripeTerminal class DiscoverReadersViewController: UIViewController, DiscoveryDelegate { var discoverCancelable: Cancelable? // ... // Action for a "Discover Readers" button func discoverReadersAction() throws { let config = try BluetoothScanDiscoveryConfigurationBuilder().build() self.discoverCancelable = Terminal.shared.discoverReaders(config, delegate: self) { error in if let error = error { print("discoverReaders failed: \(error)") } else { print("discoverReaders succeeded") } } } // ... // MARK: DiscoveryDelegate func terminal(_ terminal: Terminal, didUpdateDiscoveredReaders readers: [Reader]) { // In your app, display the discovered readers to the user. // Call `connectReader` after the user selects a reader to connect to. } }

Proximité Bluetooth * BBPOS Chipper 2X BT uniquement

Les filtres de proximité Bluetooth analysent les résultats pour renvoyer le lecteur le plus proche. Des voyants multicolores clignotent alors sur le lecteur détecté, ce qui permet à votre utilisateur de l’identifier parmi de nombreux autres lecteurs. Une fois que la trousse SDK a détecté un lecteur, elle ne passe pas à un lecteur plus proche, à moins de désactiver le lecteur détecté.

Notez que lorsque vous utilisez la proximité Bluetooth, la trousse SDK renvoie deux fois le lecteur à votre application. La première fois, votre application reçoit un objet Reader contenant uniquement le numéro de série du lecteur. Après un bref délai, votre application reçoit le même objet Reader comportant de nouvelles informations, telles que le niveau de la batterie du lecteur.

Nous vous recommandons d’afficher le lecteur détecté dans l’interface utilisateur de votre application, ce qui permet à l’utilisateur de confirmer la connexion au lecteur ou de l’annuler s’il ne souhaite pas utiliser ce lecteur.

Balayage Bluetooth

Le balayage Bluetooth recherche tous les lecteurs les plus proches et renvoie à votre application une liste de lecteurs disponibles. Au fur et à mesure que le processus de recherche avance, le SDK continue à invoquer la méthode DiscoveryDelegate.didUpdateDiscoveredReaders avec la dernière liste de lecteurs les plus proches.

Au cours du processus de recherche, le SCPConnectionStatus du Terminal passe à SCPConnectionStatus.SCPConnectionStatusDiscovering pendant que la détection est en cours.

La méthode de découverte par balayage Bluetooth vous permet de définir un délai d’expiration afin de limiter la durée de balayage. Cela permet d’économiser la batterie de l’appareil ou de déclencher un message d’erreur si aucun appareil n’est trouvé.

Dans votre application mobile, nous recommandons que vous affichiez une liste des lecteurs trouvés qui se met à jour automatiquement, avec les numéros de série ou les libellés pour aider les utilisateurs à identifier leur lecteur.

Se connecter à un lecteur
Côté client

Documentation de la trousse SDK

  • connectReader (iOS)
  • BluetoothConnectionConfiguration (iOS)

Pour vous connecter à un lecteur détecté, appelez la méthode connectReader depuis votre application.

Vous devez enregistrer votre lecteur à un emplacement lors de la connexion. Pour ce faire, créez et utilisez une configuration BluetoothConnectionConfiguration avec le locationId défini sur l’ID de l’emplacement approprié lors de la connexion.

ConnectReaderViewController.swift
Swift
Objective C
No results
// Call `connectReader` with the selected reader and a connection config // to register to a location as set by your app. let connectionConfig: BluetoothConnectionConfiguration do { connectionConfig = try BluetoothConnectionConfigurationBuilder(delegate: yourMobileReaderDelegate, locationId:
"{{LOCATION_ID}}"
) .build() } catch { // Handle the error building the connection configuration return } Terminal.shared.connectReader(selectedReader, connectionConfig: connectionConfig) { reader, error in if let reader = reader { print("Successfully connected to reader: \(reader)") } else if let error = error { print("connectReader failed: \(error)") } }

Pour que votre application fonctionne en arrière-plan et reste connectée au lecteur, configurez-la pour inclure le mode d’arrière-plan.

Utiliser le mode veille

Ne programmez pas votre application pour appeler disconnectReader afin d’économiser de l’énergie. Le lecteur assure une gestion efficace de l’alimentation à l’aide de son mode veille.

Gérer les déconnexions du lecteur

Documentation des trousses SDK

  • MobileReaderDelegate (iOS)
  • DisconnectReason (iOS)

Des déconnexions du lecteur peuvent parfois se produire entre votre application et le lecteur. Par exemple, le lecteur peut se déconnecter de votre application , s’il est hors de portée ou si la batterie est déchargée. Vous pouvez simuler une déconnexion inattendue lors d’un test en éteignant le lecteur.

Le MobileReaderDelegate comprend une méthode reader:didDisconnect: qui fournit à votre application le DisconnectReason pour permettre d’identifier la raison pour laquelle le lecteur s’est déconnecté.

Lorsqu’un lecteur se déconnecte, nous tentons 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.

Pour afficher des notifications dans votre application lors de la reconnexion automatique, procédez comme suit :

  1. Mettez en œuvre les rappels de reconnexion du lecteur dans le MobileReaderDelegate.
  2. Transmettez le MobileReaderDelegate à votre BluetoothConnectionConfiguration.
  3. Lorsque la trousse SDK envoie reader:didStartReconnect:disconnectReason: à votre application, affichez un message indiquant que le lecteur a perdu la connexion et que la reconnexion est en cours.
    • Vous pouvez utiliser l’objet Cancelable pour arrêter la tentative de reconnexion à tout moment.
  4. Lorsque la trousse SDK indique que la reconnexion a réussi en envoyant readerDidSucceedReconnect:, affichez un message indiquant que la connexion a été rétablie et que le lecteur fonctionne normalement.
  5. Si la trousse SDK ne peut pas se reconnecter au lecteur et envoie à la fois readerDidFailReconnect: et reader:didDisconnect:, affichez un message indiquant qu’une déconnexion inattendue s’est produite.
ReaderViewController.swift
Swift
Objective-C
No results
import StripeTerminal extension ReaderViewController: MobileReaderDelegate { // MARK: MobileReaderDelegate func reader(_ reader: Reader, didStartReconnect cancelable: Cancelable, disconnectReason: DisconnectReason) { // 1. Notified at the start of a reconnection attempt // Use cancelable to stop reconnection at any time } func readerDidSucceedReconnect(_ reader: Reader) { // 2. Notified when reader reconnection succeeds // App is now connected } func readerDidFailReconnect(_ reader: Reader) { // 3. Notified when reader reconnection fails // App is now disconnected } }

Pour gérer vous-même les déconnexions du lecteur, vous pouvez procéder comme suit :

  1. Réglez autoReconnectOnUnexpectedDisconnect sur false pendant la connexion.
  2. Traitez le rappel de déconnexion pour afficher dans l’application un message avertissant l’utilisateur que le lecteur s’est déconnecté de manière inattendue et lancer la détection et la connexion du lecteur.
ReaderViewController.swift
Swift
Objective-C
No results
import StripeTerminal class ReaderViewController: UIViewController, MobileReaderDelegate { override func viewDidLoad() { super.viewDidLoad() // Set the reader delegate when connecting to a reader } // ... func reader(_ reader: Reader, didDisconnect reason: DisconnectReason) { // Consider displaying a UI to notify the user and start rediscovering readers } }

Redémarrer le lecteur associé

Documentation des trousses SDK

  • rebootReader (iOS)

Le lecteur M2 de Stripe et BBPOS WisePad 3 redémarrent automatiquement après 24 heures de fonctionnement. Cependant, vous pouvez forcer le lecteur à redémarrer et réinitialiser la minuterie de 24 heures à l’aide de l’API rebootReader. Après avoir effectué cette opération, le lecteur se déconnecte de la trousse SDK, puis redémarre. Si vous utilisez la reconnexion automatique, la trousse SDK tentera de rétablir la connexion avec le lecteur.

RebootReaderViewController.swift
Swift
Objective-C
No results
Terminal.shared.rebootReader { error in if let error = error { // Placeholder for handling the error } else { // Reboot succeeded and the reader will disconnect. // If your app is using automatic reconnect the reconnect will begin. } }

Reconnexion automatique au démarrage de l’application

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.

  1. Lorsque vous connectez un lecteur, enregistrez son numéro de série dans un emplacement de stockage de données persistant, tel que l’API UserDefaults (iOS).
  1. Au lancement de votre application, recherchez un numéro de série enregistré dans l’emplacement de stockage persistant des données. Si vous en trouvez un, appelez la méthode discoverReaders afin que votre application puisse essayer de retrouver le lecteur.
  2. 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.

Affichez une interface utilisateur pendant le processus de détection et de connexion pour indiquer qu’une reconnexion automatique est en cours.

Mettre à jour le logiciel du lecteur
Côté client

Documentation SDK

  • MobileReaderDelegate (iOS)

Votre application doit mettre à jour les lecteurs mobiles pour appliquer les éléments suivants :

  • Les configurations régionales qui vous permettent de rester en règle avec les exigences des réseaux de cartes et des émetteurs
  • Mises à jour de sécurité

L’installation des mises à jour obligatoires commence lors de la connexion au lecteur. Vous ne pouvez pas utiliser le lecteur tant que la mise à jour n’est pas terminée.

Remarques

Pour installer les mises à jour, le niveau de la batterie du lecteur doit être supérieur à 50 %.

Mises à jour requises

Lorsque des mises à jour devant être effectuées immédiatement sont disponibles pour le lecteur, le MobileReaderDelegate de l’intégration reçoit le rappel didStartInstallingUpdate avec un ReaderSoftwareUpdate.

Le ReaderSoftwareUpdate fournit les détails nécessaires de la mise à jour, y compris une estimation du temps d’installation requis, indiqué par durationEstimate.

Au cours du processus d’installation de la mise à jour sur le lecteur, le connectionStatus de Terminal passe à l’état connecting.

Votre application doit avertir les utilisateurs qu’une mise à jour est en cours d’installation et en afficher sa progression dans votre interface utilisateur. Expliquez clairement pourquoi la connexion peut prendre plus de temps que d’habitude.

Si le processus de mise à jour requis échoue, Stripe communique l’erreur au MobileReaderDelegate avec didFinishInstallingUpdate. Vous ne pouvez pas vous reconnecter au lecteur après l’échec d’une mise à jour requise, sauf si les conditions suivantes sont remplies :

  • Le lecteur exécute la dernière version du logiciel pour le lieu au cours des 30 derniers jours.
  • La version de la trousse SDK iOS est supérieure ou égale à 3.5.0.

Si les conditions sont remplies, le processus de connexion aboutit, bien que la mise à jour soit incomplète. Lors de la prochaine connexion à ce lecteur, Stripe tente à nouveau d’effectuer la mise à jour requise jusqu’à ce qu’elle soit installée avec succès.

ReaderViewController.swift
Swift
Objective C
No results
import UIKit import StripeTerminal class ReaderViewController: UIViewController, MobileReaderDelegate { // ... // MARK: MobileReaderDelegate func reader(_ reader: Reader, didStartInstallingUpdate update: ReaderSoftwareUpdate, cancelable: Cancelable?) { // Show UI communicating that a required update has started installing } func reader(_ reader: Reader, didReportReaderSoftwareUpdateProgress progress: Float) { // Update the progress of the installation } func reader(_ reader: Reader, didFinishInstallingUpdate update: ReaderSoftwareUpdate?, error: Error?) { // Report success or failure of the update } // ... }

Vous pouvez annuler des mises à jour requises à l’aide de l’objet Cancelable, ce qui entraîne également l’échec de la connexion au lecteur. Vous ne pouvez pas annuler les mises à jour uniquement incrémentielles.

Mises à jour facultatives

Vous pouvez reporter les mises à jour facultatives jusqu’à la date spécifiée, après quoi elles deviennent obligatoires. La trousse SDK vous informe des mises à jour facultatives par l’intermédiaire du MobileReaderDelegate chaque fois que le lecteur est connecté, mais n’effectue pas de transaction. Si une mise à jour facultative est disponible, le MobileReaderDelegate de votre application reçoit le rappel didReportAvailableUpdate avec l’objet ReaderSoftwareUpdate contenant les détails de la mise à jour, y compris :

  • Temps estimé de la mise à jour (durationEstimate)
  • Horodatage après lequel la mise à jour devient obligatoire (requiredAt)

Dans votre application, informez les utilisateurs qu’une mise à jour est disponible et affichez une invite pour poursuivre la mise à jour.

Pour procéder à la mise à jour précédemment signalée avec didReportAvailableUpdate, appelez Terminal.shared.installAvailableUpdate.

La mise à jour est également enregistrée dans l’objet Reader sous la forme reader.availableUpdate.

Pendant la durée de la mise à jour, empêchez l’utilisateur de quitter la page de votre application et invitez-le à garder le lecteur sous la main et sous tension jusqu’au terme de l’installation. Nous vous recommandons également d’afficher un indicateur visuel de la progression de la mise à jour. Le MobileReaderDelegate fait état de la progression de la mise à jour dans la méthode didReportReaderSoftwareUpdateProgress.

Lorsque la date requiredAt d’une mise à jour facultative est dépassée, celle-ci est installée lors de la prochaine connexion du lecteur.

ReaderViewController.swift
Swift
Objective C
No results
import UIKit import StripeTerminal class ReaderViewController: UIViewController, MobileReaderDelegate { // ... // MARK: MobileReaderDelegate func reader(_ reader: Reader, didReportAvailableUpdate update: ReaderSoftwareUpdate) { // An update is available for the connected reader. Show this update in your application. // Install this update using `Terminal.shared.installAvailableUpdate`. } }

Pour découvrir comment vérifier si votre application gère les différents types de mises à jour possibles pour un lecteur, consultez la section Test des mises à jour d’un lecteur.

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.

Cette page vous a-t-elle été utile?
OuiNon
  • Besoin d'aide? Contactez le service d'assistance.
  • Rejoignez notre programme d'accès anticipé.
  • Consultez notre journal des modifications.
  • Des questions? Contactez l'équipe commerciale.
  • GML? Lire llms.txt.
  • Optimisé par Markdoc