Accéder directement au contenu
Créez un compte ou connecter-vous
Logo de la documentation Stripe
/
Demander à l'assistant IA
Créez un compteConnectez-vous
Démarrer
Paiements
Revenus
Plateformes et places de marché
Gestion de fonds
Ressources pour les développeurs
API et SDKAide
Aperçu
À propos des paiements Stripe
Mettre votre intégration à niveau
Analyses des paiements
Paiements en ligne
PrésentationTrouver votre cas d'usageUtiliser Managed Payments
Utiliser Payment Links
Utiliser une page de paiement préconfiguré
Créer une intégration personnalisée avec Elements
Développer une intégration dans l'application
Paiements par TPE
Terminal
    Présentation
    Accepter les paiements par TPE
    Disponibilité mondiale
    Conception d'intégration
    Choisir votre lecteur
    Concevoir une intégration
    Démarrage rapide
    Exemples d'applications
    Tests
    Configuration de Terminal
    Configurer votre intégration
    Paiements à plusieurs parties avec Connect
    Se connecter à un lecteur
    Acceptation d'un paiement
    Encaisser des paiements par carte
    Autres moyens de paiement
    Accepter les paiements hors ligne
    Paiement des commande par courrier/par téléphone
    Spécificités régionales
    Lors du règlement
    Collecter des pourboires
    Collecter et enregistrer des informations de paiement pour une utilisation ultérieure
      Enregistrer la carte avant achat
      Enregistrer la carte après le paiement
    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 ou remplacer des lecteurs
    Enregistrer des lecteurs
    Gérer les emplacements et les zones
    Configurer des lecteurs
    Suivre les lecteurs
    Références
    Documentation de l'API
    Lecteurs mobiles
    Lecteurs intelligents
    Lecteurs Tap to Pay
    Guide de migration du SDK
    Liste de contrôle pour le déploiement
    Fiches produit du lecteur Stripe Terminal
Moyens de paiement
Ajouter des moyens de paiement
Gérer les moyens de paiement
Paiement accéléré avec Link
Scénarios de paiement
Gérer plusieurs devises
Tunnels de paiement personnalisés
Acquisition flexible
Orchestration
Au-delà des paiements
Constituez votre entreprise
Cryptomonnaies
Commerce agentique
Financial Connections
Climate
Comprendre la fraude
Radar pour la protection contre la fraude
Gestion des litiges
Vérifier l'identité
États-Unis
Français (France)
AccueilPaiementsTerminalCollect and save payment details for future use

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_present, mais dans la plupart des cas, vous pouvez créer un PaymentMethod generated_card 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.

Avertissement

Tous les paiements effectués à l’aide du PaymentMethod generated_card sont des transactions sans présentation de la carte (CNP), et les fonctionnalités disponibles pour les transactions avec la présentation de la carte (telles que les le transferts de responsabilité et les tarifs) ne s’appliquent pas à ces frais.

Vous pouvez utiliser SetupIntents pour collecter les informations bancaires des cartes Visa, Mastercard, American Express, Discover et des cartes Interac, eftpos et girocard co-marquées. Toutefois, les cartes Interac co-marquées doivent être insérées dans un lecteur. Cela signifie qu’elles ne sont pas prises en charge par Tap to Pay.

SetupIntents n’offre pas de service d’assistance pour les cartes bancaires Interac, TPE et girocard à marque unique.

L’enregistrement des cartes bancaires avec Stripe Terminal à l’aide de SetupIntents impose de suivre la procédure suivante :

  1. Créez ou récupérez un objet Customer.
  2. Créez un objet SetupIntent pour suivre le processus.
  3. Après avoir obtenu le consentement du client, recueillez les informations relatives au moyen de paiement et transmettez-les à Stripe.

Remarque

Nous avons modifié le modèle de consentement du client pour cette fonctionnalité afin d’exiger le paramètre allow_redisplay au lieu de l’ancien paramètre customer_consent_collected. Si votre intégration utilise customer_consent_collected, vous devez la mettre à jour pour utiliser allow_redisplay. 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

Dans la version 5.0.0 du SDK, les étapes d’intégration collecter et confirmer sont désormais combinées en une seule étape processSetupIntent.

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.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl -X POST https://api.stripe.com/v1/customers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

Créer un SetupIntent

Remarque

Fournissez un ID de client lors de la création d’un SetupIntent pour associer le moyen de paiement par carte au Customer une fois la configuration réussie. Si vous ne fournissez pas d’ID de client, vous devez 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.

Documentation des SDK

  • SetupIntentParameters (Android)

Vous pouvez créer un SetupIntent et fournir les paramètres customer, onBehalfOf (Connect uniquement) et usage.

PaymentActivity.kt
Kotlin
Java
No results
val params = SetupIntentParameters.Builder() .setCustomer(
"{{CUSTOMER_ID}}"
) .build() Terminal.getInstance().createSetupIntent( params, object : SetupIntentCallback { override fun onSuccess(setupIntent: SetupIntent) { // Placeholder for handling successful operation } override fun onFailure(e: TerminalException) { // Placeholder for handling exception } } )

Si les informations nécessaires pour démarrer un paiement ne sont pas disponibles dans votre application, vous pouvez créer le SetupIntent sur votre serveur. Utilisez la clé secrète du client pour appeler retrieveSetupIntent, puis utilisez le SetupIntent récupéré pour appeler processSetupIntent.

Collecter un moyen de paiement pour l’enregistrement

Documentation des SDK

  • retrieveSetupIntent (Android)
  • processSetupIntent (Android)

Après avoir créé un SetupIntent, vous devez ensuite collecter un moyen de paiement avec le SDK et obtenir le consentement du client. Transmettez allowRedisplay 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.

Pour traiter un setupIntent, assurez-vous d’être connecté à un lecteur. Le lecteur connecté attend qu’une carte soit présentée après que votre application a appelé processSetupIntent.

PaymentActivity.kt
Kotlin
Java
No results
val config = CollectSetupIntentConfiguration.Builder() .build() val cancelable = Terminal.getInstance().processSetupIntent( setupIntent, AllowRedisplay.ALWAYS, config, object : SetupIntentCallback { override fun onSuccess(setupIntent: SetupIntent) { // Placeholder for handling successful operation } override fun onFailure(e: TerminalException) { // Placeholder for handling exception } } )

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 à l’aide de l’objet Cancelable renvoyé par le SDK.

Annulation initiée par le client

Le paramètre CustomerCancellation est activé par défaut. Les utilisateurs de lecteurs intelligents voient donc un bouton d’annulation. Le fait d’appuyer sur le bouton d’annulation permet d’annuler la transaction active. Utilisez setCustomerCancellation pour activer cette fonctionnalité lors d’une transaction.

PaymentActivity.kt
Kotlin
Java
No results
Terminal.getInstance().collectSetupIntentPaymentMethod( setupIntent, AllowRedisplay.ALWAYS, SetupIntentConfiguration.Builder() .build(), object : SetupIntentCallback { override fun onSuccess(setupIntent: SetupIntent) { // Placeholder for handling successful operation } override fun onFailure(e: TerminalException) { // Placeholder for handling exception } } )

Envoyer les informations du moyen de paiement à Stripe

Votre appel précédent à processSetupIntent gère 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_present 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_card 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_card en développant la propriété latest_attempt du SetupIntent. Vérifiez systématiquement la valeur generated_card ; pour les moyens de paiement qui n’autorisent pas les cartes générées, la valeur est vide.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl -G https://api.stripe.com/v1/setup_intents/
{{SETUP_INTENT_ID}}
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "expand[]"=latest_attempt

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.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl -G https://api.stripe.com/v1/customers/
{{CUSTOMER_ID}}
/payment_methods
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d type=card

Si vous n’avez pas fourni de client lors de la création du SetupIntent, vous pouvez associer le moyen de paiement generated_card à un objet Customer dans un appel distinct.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_methods/
{{PAYMENT_METHOD_ID}}
/attach
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
"{{CUSTOMER_ID}}"

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_card présente allow_redisplay=limited, pour indiquer ses considérations d’utilisation spécifiques.

Lorsque vous tentez de débiter un portefeuille mobile, veillez à transmettre off_session=true 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é

You’re responsible for your compliance with all applicable laws, regulations, and network rules when saving a customer’s payment details. For example, the European Data Protection Board has issued guidance regarding saving payment details. These requirements generally apply if you want to save your customer’s payment method for future use. This applies in situations such as presenting a customer’s payment method to them in the checkout flow for a future purchase, or charging them when they’re not actively using your website or app, placing a MOTO order, or in your store.

Add terms to your checkout flow that state how you plan to save payment method details and allow customers to opt in. If you plan to charge the customer while they’re not actively checking out, make sure (at a minimum) that your terms also cover the following:

  • 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.

When you save a payment method, you can only use it for the specific purpose that you included in your terms. If you want to charge customers when they’re not actively checking out and also save the customer’s payment method to present to them as a saved payment method for future purchases, you must explicitly collect consent from the customer. One way to do so is with a “Save my payment method for future use” checkbox.

Cette page vous a-t-elle été utile ?
OuiNon
  • Besoin d'aide ? Contactez le service Support.
  • Consultez notre log des modifications.
  • Des questions ? Contactez l'équipe commerciale.
  • LLM ? Lire llms.txt.
  • Propulsé par Markdoc