Enregistrer les informations de paiement après le paiement
Acceptez un paiement en personne et enregistrez les informations de paiement pour les utiliser plus tard, en l'absence du client.
Vous pouvez utiliser Stripe Terminal pour enregistrer les informations de paiement d’un achat en magasin. Un paiement card_ réussi renvoie un PaymentMethod card réutilisable dans l’attribut generated_. Il existe plusieurs cas d’usage :
- Un client d’une salle de sport paie par TPE une première séance et un abonnement. La transaction crée une
generated_qui sera utilisée pour les futurs renouvellements automatiques de l’abonnement.card - Un client d’une boutique de vêtements fournit son adresse e-mail au moment d’effectuer un achat à la caisse. La transaction crée un dossier client et enregistre la
generated_associée. Cela permet au client de se connecter ultérieurement au site Web de la boutique et de passer une commande en utilisant la même carte.card
Avertissement
Le paiement initial en personne est une transaction avec présentation de la carte. Tous les frais ultérieurs facturés à l’aide de la generated_ sont des transactions sans présentation de la carte (CNP), et les fonctionnalités disponibles pour les transactions avec présentation de la carte (telles que le transfert de responsabilité et les tarifs) ne s’appliquent pas à ces frais ultérieurs.
Remarque
Nous avons modifié le modèle de consentement du client pour cette fonctionnalité afin d’exiger le paramètre allow_. Vous devez mettre à jour votre intégration pour utiliser allow_. Cette mise à jour est devenue obligatoire le 31 mars 2025 pour les utilisateurs non-React Native, et le sera pour les utilisateurs React Native le 30 septembre 2025. Pour plus d’informations, consultez l’entrée du journal des modifications.
Créer un objet Customer
Pour configurer une carte bancaire en vue de paiements futurs, vous devez l’associer à un client. Lorsque votre client ouvre un compte chez vous, créez un objet Customer, qui permet de réutiliser des moyens de paiement et d’assurer le suivi de plusieurs paiements.
Comparer les références Customers v1 et Accounts v2
Si votre plateforme Connect utilise des comptes configurés par le client, consultez notre guide pour remplacer dans votre code les références Customer et événements par les références équivalentes de l’API Comptes v2.
Lorsque la création aboutit, l’objet Customer est renvoyé. Vous pouvez l’examiner pour identifier l’id du client et stocker cette valeur dans votre base de données pour la récupérer ultérieurement.
Vous pouvez trouver ces clients sur la page Clients du Dashboard.
Créer un PaymentIntent
Lors de la création d’un PaymentIntent, demandez une generated_ en spécifiant une valeur pour setup_future_usage. Si vous comptez uniquement réutiliser le moyen de paiement lorsque le client est dans votre tunnel de paiement, utilisez on_. Sinon, utilisez off_.
Remarque
Les cartes Visa, Mastercard, American Express, Discover, comarquées eftpos, Interac et girocard sont prises en charge en tant que moyens de paiement card_ qui peuvent être enregistrés en tant que type card.
Collecter et traiter un moyen de paiement
Remarque
Cette fonctionnalité nécessite que vos requêtes API incluent Stripe-Version: 2024-09-30.. Pour plus d’informations, consultez l’entrée du journal des modifications.
Lorsque le client est prêt à payer et a consenti à ce que les informations de son moyen de paiement soient enregistrées, transmettez allow_redisplay défini sur always ou limited dans l’appel process_ ou collect_Preview. La valeur indique le degré d’affichage d’un moyen de paiement dans le tunnel de paiement d’un client.
Si vous utilisez le flux collect_, qui permet d’accéder à des données utiles telles que la marque de la carte et le financement du PaymentMethod avant de le confirmer, vous devez également confirmer séparément le PaymentIntent.
Accéder à la generated_card
Un paiement réussi avec un moyen de paiement qui prend en charge une utilisation ultérieure renvoie un PaymentIntent à l’état requires_ ou succeeded. Vous pouvez récupérer le moyen de paiement generated_card en développant la propriété latest_charge du PaymentIntent et en affichant payment_method_details.card_present. Si vous avez transmis l’ID du client dans l’appel de création du PaymentIntent, le PaymentMethod réutilisable est automatiquement associé à l’objet Customer. Sinon, vous pouvez l’associer manuellement dans un appel distinct.
Vérifiez toujours que le fichier PaymentIntent.latest_charge contient une valeur generated_. Certains paiements, tels que les paiements par portefeuille électronique et les paiements par carte Interac, eftpos ou girocard d’une seule marque, peuvent ne pas créer de carte générée. Si c’est le cas, et que vous avez besoin d’un moyen de paiement réutilisable, deux options s’offrent à vous :
- Invitez le client à enregistrer un autre moyen de paiement à l’aide du tunnel pour enregistrer un moyen de paiement sans effectuer de paiement.
- Remboursez le paiement par TPE, indiquez que la transaction a échoué et demandez au client d’utiliser un autre moyen de paiement.
Considérations relatives aux wallets mobiles
Les portefeuilles mobiles enregistrés sont réservés aux paiements off_session tels que les abonnements futurs ou les autres paiements que vous initiez au nom de votre client. Lorsque vous enregistrez un moyen de paiement par portefeuille électronique, la generated_ présente allow_, pour indiquer ses considérations d’utilisation spécifiques.
Lorsque vous tentez de débiter un portefeuille mobile, veillez à transmettre off_ lors de la confirmation PaymentIntent. Si le client est présent dans votre tunnel de paiement, vous devrez plutôt utiliser les intégrations Apple Pay et Google Pay pour demander à nouveau la présentation du moyen de paiement.
Conformité
Vous êtes responsable du respect de toutes les lois, réglementations et règles des réseaux applicables lorsque vous enregistrez les informations de paiement d’un client. Par exemple, le Comité européen de la protection des données a publié des recommandations sur l’enregistrement des informations de paiement. Ces exigences s’appliquent généralement si vous souhaitez enregistrer le moyen de paiement d’un client pour une utilisation ultérieure, par exemple en lui présentant le moyen de paiement dans le tunnel de paiement pour un achat futur ou en le facturant lorsqu’il n’utilise pas activement votre site Web ou votre application, ou encore en passant une commande MOTO ou en magasin.
Intégrez à votre tunnel de paiement des conditions précisant la manière dont vous allez enregistrer les informations de moyen de paiement et offrant aux clients la possibilité de donner leur accord. Si vous envisagez de prélever le client alors qu’il ne paie pas activement, veillez à ce que vos conditions incluent au minimum les éléments suivants :
- Le consentement du client vous autorisant à déclencher un paiement ou une série de paiements en son nom pour les transactions spécifiées
- Le calendrier et la fréquence prévus des paiements (par exemple, si les paiements concernent des versements échelonnés ou d’abonnement planifiés, ou des recharges non planifiées).
- La façon dont vous déterminez le montant du paiement.
- Votre politique d’annulation, si vous configurez le moyen de paiement dans le cadre d’un abonnement
Veillez à conserver une trace écrite de l’acceptation de ces conditions par votre client.
Lors de l’enregistrement d’un moyen de paiement, celui-ci ne peut être utilisé que pour l’usage spécifié dans vos conditions. Pour prélever un client lorsqu’il n’est pas activement en train de payer et enregistrer son moyen de paiement pour un usage futur, vous devez recueillir son consentement explicite. Une option consiste à proposer une case à cocher « Enregistrer mon moyen de paiement pour une utilisation ultérieure ».