Enregistrer directement les informations sans débiter le client
Collecter les informations d'une carte présente et les sauvegarder pour une utilisation en ligne.
Utiliser des SetupIntents pour recueillir les informations de la carte ou du portefeuille mobile sans débiter la carte. Un SetupIntent ne peut pas enregistrer directement un PaymentMethod card_
, mais dans la plupart des cas, vous pouvez créer un PaymentMethod generated_
réutilisable qui représente la même carte. Du point de vue de vos clients, il s’agit du même moyen de paiement.
Vous pouvez utiliser des SetupIntents pour collecter les informations des cartes Visa, Mastercard, American Express, Discover, Interac cobadgées et eftpos cobadgées. Les SetupIntents ne prennent pas en charge les cartes Interac, eftpos et girocard non cobadgées.
L’enregistrement des cartes bancaires avec Stripe Terminal à l’aide de SetupIntents impose de suivre la procédure suivante :
- Créez ou récupérez un objet Customer.
- Créez un objet SetupIntent pour suivre le processus.
- Collectez un moyen de paiement après avoir obtenu le consentement du client.
- Envoyez les informations du moyen de paiement à Stripe.
Remarque
Nous avons modifié le modèle de consentement du client pour cette fonctionnalité afin d’exiger le paramètre allow_
au lieu de l’ancien paramètre customer_
. Si votre intégration utilise customer_
, vous devez la mettre à jour 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.
Remarque
L’API SetupIntents sur serveur est compatible avec le BBPOS WisePOS E et le Lecteur Stripe S700.
Créer ou récupérer un objet Customer
Pour débiter une carte bancaire enregistrée auprès de Stripe, celle-ci doit être associée à un objet Customer.
Lorsque vous ajoutez un client à votre SetupIntent avant de confirmer, Stripe associe automatiquement le moyen de paiement par carte généré à l’objet Customer fourni.
Ajoutez le code suivant sur votre serveur pour créer un nouvel objet Customer
.
Créer un SetupIntent
Remarque
Nous vous recommandons de fournir un ID de client lorsque vous créez un SetupIntent. Cela permet d’associer le moyen de paiement par carte à l’objet Customer
une fois la configuration réussie. Si vous ne fournissez pas d’ID de client, vous devrez associer le moyen de paiement dans un appel distinct.
Un SetupIntent est un objet qui représente votre intention de configurer le moyen de paiement d’un client en vue de futurs paiements. Le SetupIntent suit les étapes de ce processus de configuration. Dans le cas de Terminal, cela inclut la collecte et l’enregistrement du consentement du titulaire de carte.
Vous devez créer le SetupIntent sur votre serveur et inclure card_
dans le paramètre payment_
. Spécifiez usage=on_
si vous comptez uniquement réutiliser le moyen de paiement lorsque le client est dans votre tunnel de paiement.
Collecter un moyen de paiement pour l’enregistrement
Après avoir créé un SetupIntent, vous devez ensuite collecter un moyen de paiement et obtenir le consentement du client. Transmettez allow_redisplay avec la valeur always
ou limited
. Cette valeur indique le degré d’affichage d’un moyen de paiement dans le tunnel de paiement d’un client.
Remarque
Obtenez le consentement du client oralement ou avec une case à cocher dans votre application. Vous devez respecter toutes les lois, règles et réglementations en vigueur dans votre région.
Vous devez appeler l’endpoint process_setup_intent, qui gère à la fois la collecte et la confirmation du SetupIntent. Si le client donne son consentement, définissez allow_
sur always
ou limited
.
Cette méthode recueille les données chiffrées du moyen de paiement à l’aide du lecteur de carte connecté, et les associe au SetupIntent.
Mise en garde
La collecte du moyen de paiement a lieu en local et n’exige ni autorisation, ni mise à jour de l’objet SetupIntent avant l’étape suivante.
Annuler la collecte
Annulation programmatique
Vous pouvez annuler la collecte d’un moyen de paiement en appelant cancel_action.
Envoyer les informations du moyen de paiement à Stripe
Votre précédent appel à process_setup_intent traite la confirmation pour vous. Aucune autre action n’est donc nécessaire.
Une fois opérationnelle, la configuration renvoie la valeur succeeded
pour la propriété status du SetupIntent, ainsi qu’un SetupAttempt.payment_method_details.card_present.generated_card qui est un moyen de paiement card
réutilisable que vous pouvez utiliser pour les paiements en ligne.
Remarque
Le SetupIntent.payment_method est un PaymentMethod card_
qui représente la tokenisation de la carte physiquement présente et n’est pas facturable en ligne. Les paiements ultérieurs utiliseront plutôt la carte générée. Du point de vue du client, il s’agit du même moyen de paiement.
Le moyen de paiement generated_
est associé automatiquement au client que vous avez indiqué lors de la création du SetupIntent. Vous pouvez récupérer le moyen de paiement generated_
en développant la propriété latest_
du SetupIntent. Vérifiez systématiquement la valeur generated_
; pour les moyens de paiement qui n’autorisent pas les cartes générées, la valeur est vide.
Vous pouvez également récupérer le moyen de paiement associé en récupérant la liste des moyens de paiement associés au client.
Si vous n’avez pas fourni de client lors de la création du SetupIntent, vous pouvez associer le moyen de paiement generated_
à un objet Customer dans un appel distinct.
Si la configuration n’aboutit pas, examinez l’erreur renvoyée pour en déterminer la cause. Par exemple, omettre de recueillir le consentement du client et d’en informer Stripe entraîne une erreur.
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é
Lorsque vous enregistrez les informations de paiement d’un client, vous êtes responsable du respect de l’ensemble des lois, réglementations et règles du réseau en vigueur. Par exemple, le Conseil européen de la protection des données a émis des recommandations concernant l’enregistrement des données de paiement. Ces exigences s’appliquent généralement si vous souhaitez enregistrer le moyen de paiement de votre 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.
Ajoutez des conditions d’utilisation à votre site Web ou à votre application pour indiquer comment vous prévoyez d’enregistrer des informations relatives aux moyens de paiement et qui permettent aux clients d’y adhérer. Si vous prévoyez de facturer le client lorsqu’il est hors ligne, assurez-vous que vos conditions d’utilisation couvrent également ce qui suit :
- 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.
Lorsque vous enregistrez un moyen de paiement, il ne peut être utilisé que pour l’utilisation spécifique prévue dans vos conditions d’utilisation. Si vous souhaitez facturer un client lorsqu’il est hors ligne et enregistrer son moyen de paiement pour lui présenter comme moyen de paiement enregistré lors d’achats ultérieurs, vous devez recueillir explicitement son consentement. Pour ce faire, vous pouvez notamment proposer une case « Enregistrer mon moyen de paiement pour une utilisation ultérieure ».