Documentation de l'API JavaScript
Utilisez notre documentation de l'API pour naviguer dans le SDK JavaScript Stripe Terminal.
API methods
- StripeTerminal.create()
- discoverReaders()
- connectReader()
- disconnectReader()
- getConnectionStatus()
- getPaymentStatus()
- clearCachedCredentials()
- collectPaymentMethod()
- cancelCollectPaymentMethod()
- processPayment()
- collectSetupIntentPaymentMethod()
- cancelCollectSetupIntentPaymentMethod()
- confirmSetupIntent()
- readReusableCard()
- cancelReadReusableCard()
- setReaderDisplay()
- clearReaderDisplay()
- setSimulatorConfiguration()
- getSimulatorConfiguration()
- collectRefundPaymentMethod()
- processRefund()
- cancelCollectRefundPaymentMethod()
- collectInputs()
- cancelCollectInputs()
StripeTerminal.create([options])
Crée une instance de StripeTerminal
avec les options données :
Option | Description |
---|---|
onFetchConnectionToken | Un gestionnaire d’événements qui récupère un token de connexion de votre back-end. |
onUnexpectedReaderDisconnect | Un gestionnaire d’événements appelé lorsqu’un lecteur se déconnecte de votre application. |
onConnectionStatusChange facultatif | Un gestionnaire d’événements appelé lorsque le ConnectionStatus du SDK change. |
onPaymentStatusChange facultatif | Un gestionnaire d’événements appelé lorsque que le PaymentStatus du SDK change. |
readerBehavior optional | Un objet qui définit le comportement sur le lecteur tout au long du cycle de vie du SDK. Consultez ci-dessous les options de configuration du readerBehavior. |
Configuration du comportement du lecteur
Aujourd’hui, il n’existe qu’une seule option de configuration du comportement :
Comportement | Description |
---|---|
allowCustomerCancel | Une valeur booléenne qui détermine si le client peut annuler Remarque : cette propriété n’est pas disponible à grande échelle, et nous n’acceptons pas de nouveaux utilisateurs pour le moment. |
discoverReaders([options])
Commence à découvrir les lecteurs avec les options données :
Option | Description |
---|---|
simulation facultatif | Une valeur booléenne indiquant s’il est nécessaire de détecter un lecteur de simulation. Si cette valeur n’est pas renseignée, elle est définie sur false par défaut. |
emplacement facultatif | Retourne uniquement les lecteurs assignés à un Pour plus d’informations sur l’utilisation des emplacements pour filtrer des lecteurs détectés, consultez la section Gestion des emplacements. |
Retourne une Promise
qui résulte en un objet avec les champs suivants :
discoveredReaders
: une liste d’objets Reader de simulation, si la commande a réussi.error
: Une erreur, si la commande a échoué.
Note
Avant de pouvoir détecter le Verifone P400 dans votre application, vous devez enregistrer le lecteur sur votre compte.
connectReader(reader, connectOptions)
Tentatives de connexion au lecteur donné avec les options données :
Option | Description |
---|---|
fail_if_in_use optional | Une valeur booléenne indiquant que la connexion a échoué dans le cas où le lecteur est actuellement connecté au SDK Terminal. Si cette valeur n’est pas renseignée, elle est définie sur false par défaut. |
Retourne une Promise
qui résulte en un objet avec les champs suivants :
reader
: L’objet Reader connecté, si la commande a abouti.error
: Une erreur, si la commande a échoué.
Note
Ne mettez pas en cache l’objet Reader
dans votre application. La connexion à un objet Reader
obsolète peut échouer si l’adresse IP du lecteur a changé.
disconnectReader()
Se déconnecte du lecteur connecté.
getConnectionStatus()
Retourne l’état de connexion en cours.
ConnectionStatus peut être à l’état connecting
, connected
ou not_
.
getPaymentStatus()
Retourne l’état du paiement du lecteur.
PaymentStatus peut être à l’état not_
, ready
, waiting_
ou processing
.
clearCachedCredentials()
Efface le ConnectionToken en cours, et tout autre identifiant mis en cache.
Utilisez cette méthode pour passer d’un compte à l’autre dans votre application (par exemple, pour passer entre les clés API Stripe en mode production et en mode test sur votre back-end). Pour passer d’un compte à l’autre, effectuez ces étapes :
- Si un lecteur est connecté, appelez
disconnectReader
. - Configurez votre gestionnaire
onFetchConnectionToken
pour retourner les tokens de connexion pour le nouveau compte. - Appelez
clearCachedCredentials
. - Reconnectez-vous à un lecteur. Le SDK demande un nouveau token de connexion à votre gestionnaire
onFetchConnectionToken
.
collectPaymentMethod(request, options)
Commence à collecter un moyen de paiement pour un PaymentIntent. Ce moyen nécessite un paramètre requis, request
:
request
: le champclientSecret
d’un objetPaymentIntent
créé sur votre back-end. Découvrez comment créer un PaymentIntent et transmettre sa clé secrète du client.options
: un objet contenant des paramètres de paiement supplémentaires.
Option | Description |
---|---|
config_override optional | Un objet qui vous permet de spécifier des remplacements de configurations par transaction. La valeur par défaut de cet objet est null.
|
L’option suivante est disponible pour l’objet tipping
:
Option | Description |
---|---|
eligible_amount optional | Chiffre qui vous permet d’indiquer le montant de transaction à partir duquel un pourcentage sera calculé en guise de pourboire. Définissez cette valeur sur 0 ou plus. S’il est égal à 0, le pourboire est ignoré, quelle que soit la valeur de S’il est égal au montant du PaymentIntent prévu, le paramètre est ignoré et le pourboire est calculé en fonction du montant spécifié.
|
Retourne une Promise
qui résulte en un objet avec les champs suivants :
paymentIntent
: l’objet PaymentIntent mis à jour, si la commande a abouti.error
: Une erreur, si la commande a échoué.
Pour obtenir plus d’informations sur l’encaissement de paiements, veuillez consulter notre guide sur l’encaissement des paiements.
cancelCollectPaymentMethod()
Annule une commande collectPaymentMethod en suspens.
Retourne une Promise
qui résulte en un objet vide une fois que la commande a été correctement annulée. Si l’annulation échoue, la Promise
résulte en un objet avec une erreur.
processPayment(paymentIntent, options)
Traite un paiement après qu’un moyen de paiement a été collecté.
Cette méthode nécessite un paramètre obligatoire, paymentIntent
:
paymentIntent
: un objetPaymentIntent
obtenu à partir d’un appel réussi àcollectPaymentMethod
.options
: un objet contenant des paramètres de paiement supplémentaires.
Retourne une Promise
qui résulte en un objet avec les champs suivants :
paymentIntent
: l’objet PaymentIntent confirmé, si la commande a abouti.error
: une erreur, si la commande a échoué. Pour obtenir plus d’informations, veuillez consulter la section Gestion des échecs de traitement.
collectSetupIntentPaymentMethod(clientSecret, allowRedisplay, config)
Commence à collecter un moyen de paiement pour une réutilisation en ligne en lien avec un SetupIntent.
Le moyen nécessite deux paramètres requis :
clientSecret
: le champclientSecret
d’un objetSetupIntent
créé sur votre back-end.allowRedisplay
: valeur d’énumération indiquant si les futurs tunnels de paiement peuvent afficher ce moyen de paiement au client.config
: un objet facultatif contenant la configuration de la collection.
Option | Description |
---|---|
enable_customer_cancellation | Facultatif, défini par défaut sur false. Si défini sur true, les lecteurs intelligents basés sur Android affichent un bouton d’annulation. |
Retourne une Promise
qui résulte en un objet avec les champs suivants :
setupIntent
: l’objet SetupIntent mis à jour, si la commande a réussi.error
: Une erreur, si la commande a échoué.
Pour plus d’informations sur l’enregistrement de cartes bancaires, consultez notre guide sur l’enregistrement des cartes bancaires pour les paiements en ligne.
cancelCollectSetupIntentPaymentMethod()
Annule une commande collectSetupIntentPaymentMethod en suspens.
Retourne une Promise
qui résulte en un objet vide une fois que la commande a été correctement annulée. Si l’annulation échoue, la Promise
résulte en un objet avec une erreur.
confirmSetupIntent(setupIntent)
Confirme un SetupIntent après qu’un moyen de paiement a été collecté.
Cette méthode nécessite un seul paramètre, un objet SetupIntent
obtenu à partir d’un appel réussi à collectSetupIntentPaymentMethod
.
Retourne une Promise
qui résulte en un objet avec les champs suivants :
setupIntent
: l’objet SetupIntent confirmé, si la commande a réussi.error
: Une erreur, si la commande a échoué.
readReusableCard()
Lit une carte bancaire pour une réutilisation en ligne.
Les paiements en ligne initiés depuis Terminal ne bénéficient pas des tarifications plus basses et du transfert de responsabilité donné aux paiements Terminal standard. La plupart des intégrations n’ont pas besoin d’utiliser readReusableCard
. Pour encaisser uniquement le paiement par TPE d’un client, utilisez le flux standard.
Retourne une Promise
qui résulte en un objet avec les champs suivants :
payment_
: l’objet PaymentMethod, si la commande a abouti.method error
: Une erreur, si la commande a échoué.
Note
À l’heure actuelle, il n’est pas possible d’utiliser Stripe Terminal pour enregistrer les cartes sans contact et les portefeuilles mobiles (par exemple Apple Pay ou Google Pay) en vue d’une utilisation ultérieure.
cancelReadReusableCard()
Annule une commande readReusableCard en suspens.
Retourne une Promise
qui résulte en un objet vide une fois que la commande a été correctement annulée. Si l’annulation échoue, la Promise
résulte en un objet avec une erreur.
setReaderDisplay(displayInfo)
Met à jour l’affichage du lecteur avec les informations du panier.
Cette méthode nécessite un objet DisplayInfo
comme entrée.
{ type: 'cart', cart: { line_items: [ { description: string, amount: number, quantity: number, }, ], tax: number, total: number, currency: string, } }
Renvoie une Promise
qui résulte en un objet vide si la commande aboutit. Si la commande échoue, la Promise
résulte en un objet avec une erreur.
clearReaderDisplay()
Si le lecteur affiche les informations du panier définis sur setReaderDisplay
, cette méthode efface l’écran de présentation.
Renvoie une Promise
qui résulte en un objet vide si la commande aboutit. Si la commande échoue, la Promise
résulte en un objet avec une erreur.
setSimulatorConfiguration(configuration)
Définit l’objet de configuration pour le lecteur de carte de simulation.
Cette méthode prend uniquement effet lorsque l’objet est connecté au lecteur de simulation, sinon elle n’effectue aucune action.
Le lecteur de simulation suivra la configuration spécifiée uniquement jusqu’à ce que processPayment
soit terminé. À ce stade, le lecteur de simulation revient à son comportement par défaut.
Notez que cette méthode remplace tout objet de configuration actif actuellement. Pour ajouter des paires de clé-valeur spécifiques, assurez-vous d’utiliser une combinaison de cette méthode et de getSimulatorConfiguration
.
Les options de configuration disponibles sont :
Champ | Valeurs | Description |
---|---|---|
testCardNumber | Consultez la liste des Cartes bancaires de test pour simulation. | Configure le lecteur de simulation pour utiliser le numéro de carte bancaire comme moyen de paiement présenté par l’utilisateur. Utilisez-le pour tester divers scénarios dans votre intégration, tels que les paiements avec différentes marques de carte bancaire ou les erreurs de traitement comme un paiement refusé. |
testPaymentMethod | Consultez la liste des Cartes bancaires de test pour simulation. | A le même objectif que testCardNumber , mais se repose sur les moyens de paiement de test à la place. |
tipAmount | N’importe quel montant ou valeur nulle. | Configure le lecteur simulé pour simuler un montant de pourboire sélectionné par le client sur le lecteur. |
paymentMethodType obsolète |
| Déterminez le type de moyen de paiement créé par le lecteur de simulation lorsque collectPaymentMethod est appelé. |
getSimulatorConfiguration()
Retourne l’objet de configuration actif actuellement.
Le SDK JavaScript Stripe Terminal peut remplacer cette valeur si nécessaire, y compris (mais sans s’y limiter) la redéfinition de la valeur après que processPayment est terminé, et la suppression des paires de clé-valeur inconnues.
collectRefundPaymentMethod(charge_id, amount, currency, options, config)
Commence à collecter un moyen de paiement pour être remboursé. La méthode nécessite deux paramètres requis :
charge_
, l’ID du paiement qui sera remboursé.id amount
: un nombre qui représente le montant, en centimes, qui sera remboursé du paiement. Ce nombre peut être inférieur ou égal au montant facturé dans le paiement d’origine.currency
: code ISO pour la devise composé de trois lettres en minuscules. Doit être une devise prise en charge.options
: un objet facultatif contenant des paramètres de remboursement supplémentaires.
Option | Description |
---|---|
refund_application_fee | Facultatif, défini par défaut sur false. Connect uniquement. Une valeur booléenne indiquant si la commission de la plateforme doit être remboursée lors du remboursement de ce paiement. Si un remboursement de paiement complet est donné, l’intégralité de la commission de la plateforme sera remboursée. Autrement, la commission de la plateforme sera remboursée à hauteur d’un montant proportionnel au montant du paiement remboursé. Une commission de la plateforme peut être remboursée uniquement par l’application qui a créé le paiement. |
reverse_transfer | Facultatif, défini par défaut sur false. Connect uniquement. La valeur booléenne indiquant si le transfert doit être remboursé lors du remboursement de ce paiement. Le transfert sera remboursé proportionnellement au montant remboursé (la totalité ou une partie du montant). Un transfert peut être remboursé uniquement par l’application qui a créé le paiement. |
config
: un objet facultatif contenant la configuration de la collection.
Option | Description |
---|---|
enable_customer_cancellation | Facultatif, défini par défaut sur false. Si défini sur true, les lecteurs intelligents basés sur Android affichent un bouton d’annulation. |
Retourne une Promise
qui résulte en :
- un objet vide si la collection du moyen de paiement a abouti, ou
- un objet avec un champ error si une erreur est survenue lors de la collecte du moyen de paiement lié au remboursement.
processRefund()
Traite un remboursement en cours. Ce moyen peut uniquement être appelé après que collectRefundPaymentMethod
soit correctement retourné.
Retourne une Promise
qui résulte en :
- un objet refund si le remboursement a réussi, ou
- un objet avec un champ error s’il y a eu une erreur pendant le traitement du remboursement.
cancelCollectRefundPaymentMethod()
Annule une commande collectRefundPaymentMethod
en suspens.
Retourne une Promise
qui résulte en un objet vide si l’annulation a abouti. Si l’annulation échoue, la Promise
résulte en un objet avec un champ error
.
collectInputs(collectInputsParameters)
Note
Pour demander l’accès à la version bêta de Collect Inputs, contactez-nous à l’adresse stripe-terminal-betas@stripe.com.
Commencez à afficher des formulaires et à collecter des informations auprès des clients à l’aide de Collect Inputs.
Cette méthode nécessite la saisie d’un objet ICollectInputsParameters
.
Renvoie une Promise
qui résulte en la collecte des informations si la commande aboutit. Si la commande échoue, la Promise
résulte en un objet avec une erreur.
cancelCollectInputs()
Note
Pour demander l’accès à la version bêta de Collect Inputs, contactez-nous à l’adresse stripe-terminal-betas@stripe.com.
Annule une commande collectInputs
en suspens.
Renvoie une Promise
qui résulte en un objet vide si l’annulation aboutit. Si la commande échoue, la Promise
résulte en un objet avec une erreur.
Errors
Les erreurs retournées par le SDK JavaScript incluent un code
d’erreur, ainsi qu’un message
pouvant être lu par l’utilisateur.
Pour les méthodes impliquant un PaymentIntent comme processPayment, l’erreur peut également inclure un objet payment_
.
Codes d’erreur
Code | Description |
---|---|
no_ | La commande échoue car aucun lecteur n’est connecté. |
no_ | cancelCollectPaymentMethod peut uniquement être appelé lorsque collectPaymentMethod est en cours. |
no_ | cancelCollectReusableCard peut uniquement être appelé quand readReusableCard est en cours. |
canceled | La commande a été annulée. |
cancelable_ | L’annulation a échoué car l’opération est déjà terminée. |
cancelable_ | L’annulation a échoué car l’opération a déjà été annulée. |
network_ | Une erreur inconnue est survenue lors de la communication avec le serveur ou le lecteur via le réseau. Reportez-vous au message d’erreur pour plus d’informations. |
network_ | La requête a expiré lors de la communication avec le serveur ou le lecteur via le réseau. Assurez-vous que votre appareil et le lecteur sont connectés via le réseau pour des connexions stables. |
already_ | connectReader a échoué car un lecteur est déjà connecté. |
failed_ | Échec de récupération du token de connexion. Assurez-vous que le gestionnaire de token de connexion retourne une promesse qui résulte en un token de connexion. |
discovery_ | discoverReaders a renvoyé trop de lecteurs. Utilisez les emplacements pour filtrer les lecteurs découverts par emplacement. |
invalid_ | Le lecteur utilise une version logicielle non prise en charge. Veuillez autoriser le lecteur à effectuer une mise à jour et réessayez. |
reader_ | Le lecteur a retourné une erreur pendant le traitement de la requête. Reportez-vous au message d’erreur pour plus d’informations. |
command_ | L’action ne peut pas être effectuée car une action en cours l’en empêche. |
Changelog
Si vous utilisez une version antérieure du SDK JavaScript (antérieure au 7 juin 2019), procédez à une mise à niveau vers la dernière version en changeant l’URL du script inclus dans votre intégration.
<script src="https://js.stripe.com/terminal/v1/"></script>
Pour en savoir plus sur la migration à partir de la version bêta de Stripe Terminal, consultez le Guide de migration vers Terminal Beta.
v1
confirmPaymentIntent
renommé enprocessPayment
.- Valeurs pour PaymentStatus renommées. PaymentStatus peut être à l’état
not_
,ready ready
,waiting_
oufor_ input processing
. - Informations de carte supprimées des réponses à
collectPaymentMethod
, précédemment disponibles dansresponse.
.paymentIntent. payment_ method. card_ payment - Les informations de reçu sont désormais situées dans le hachage
payment_
.intent. charges[0]. payment_ method_ details. card_ present - Modification de l’API permettant de découvrir un lecteur de simulation en
discoverReaders({ simulated: true })
. readSource
renommé enreadReusableCard
. Un appel fructueux àreadReusableCard
renvoie un PaymentMethod au lieu d’une source. Les moyens de paiement doivent être utilisés avec des PaymentIntents. Pour en savoir plus, consultez l’aperçu de l’API Payment Methods.- La réponse
connectReader
a été modifiée en{ reader: Reader }
. L’objetConnection
de wrapper a été supprimé. - Suppression des méthodes
startReaderDiscovery
etstopReaderDiscovery
. Pour découvrir des lecteurs de manière répétée, vous pouvez utiliser la méthodesetInterval
JavaScript. clearConnectionToken
renommé enclearCachedCredentials
.