Accéder directement au contenu
Créez un compte
ou
connecter-vous
Logo de la documentation Stripe
/
Demander à l'assistant IA
Créez un compte
Connectez-vous
Démarrer
Paiements
Revenus
Plateformes et places de marché
Gestion de fonds
Ressources pour les développeurs
Aperçu
À propos des paiements Stripe
    Présentation
    Devises
    Refus de paiement
    Virements
    Paiements récurrents
    Authentification 3D Secure
      Authentification avec 3D Secure
      Exemptions de la SCA
      Utiliser le protocole 3D Secure autonome
      Importation des résultats 3D Secure
      Écriture de requêtes
    Rembourser et annuler des paiements
    Soldes et délai de règlement
    Reçus
    Gérer les événements de webhook
    Préparation à la SCA
Mettre votre intégration à niveau
Analyses des paiements
Paiements en ligne
PrésentationTrouver 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
Ajouter des moyens de paiement
Gérer les moyens de paiement
Paiement accéléré avec Link
Interfaces de paiement
Payment Links
Checkout
Elements pour le web
Elements intégrés à l'application
Scénarios de paiement
Gérer plusieurs devises
Tunnels de paiement personnalisés
Acquisition flexible
Orchestration
Paiements par TPE
Terminal
Au-delà des paiements
Constituez votre entreprise
Cryptomonnaies
Financial Connections
Climate
AccueilPaiementsAbout Stripe payments3D Secure authentication

Importer les résultats 3D Secure

Traiter les paiements lorsque 3D Secure est exécuté en dehors de Stripe.

L’importation des résultats 3DS est un flux de paiement avancé qui vous permet d’intégrer vos authentifications 3DS externes à vos paiements Stripe en important le résultat de l’authentification. Vous devez importer les résultats 3DS si vous :

  • Opèrent dans le secteur du voyage et reçoivent des numéros de carte et des cryptogrammes d’un agrégateur de voyages, comme Expedia ou Sabre
  • faites appel à un fournisseur tiers pour effectuer l’authentification 3DS

Dans ces situations, vous pouvez transmettre directement les informations de carte et le cryptogramme à l’API PaymentIntent au lieu d’utiliser Stripe Elements pour recueillir les informations de paiement et exécuter 3DS.

L’importation de résultats 3DS est disponible dans les pays suivants :

Australie
Canada
États-Unis
EU
Hong Kong
Mexique
Nouvelle-Zélande
Royaume-Uni
Singapour
Suisse

Beta Tous les autres pays dans lesquels Stripe prend en charge les paiements par carte bancaire.

L’importation de résultats 3DS n’est pas disponible dans les pays suivants :

Inde
Malaisie
Thaïlande

Avertissement

Dans tous les exemples de code suivants, les paramètres définis dans l’objet three_d_secure doivent correspondre exactement aux valeurs renvoyées par votre fournisseur 3DS.

Traiter un paiement avec des informations de carte

Si vous gérez les informations de carte sur votre serveur :

  1. Créez et confirmez un PaymentIntent avec les informations de carte bancaire et les informations 3DS en un seul appel à l’API.
  2. Lors de la création du PaymentIntent, définissez le paramètre confirm sur true.
  3. Définissez le paramètre error_on_requires_action sur true lorsque vous confirmez le PaymentIntent pour empêcher Stripe d’effectuer une requête 3DS lors d’un refus de paiement conditionnel.
Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=2000 \ -d currency=eur \ -d "payment_method_types[]"=card \ -d "payment_method_data[type]"=card \ -d "payment_method_data[card][number]"=4000002760003184 \ -d "payment_method_data[card][exp_month]"=12 \ -d "payment_method_data[card][exp_year]"=23 \ -d "payment_method_data[card][cvc]"=123 \ -d "payment_method_options[card][three_d_secure][version]"="2.1.0" \ -d "payment_method_options[card][three_d_secure][electronic_commerce_indicator]"=05 \ --data-urlencode "payment_method_options[card][three_d_secure][cryptogram]"="CJSJbzXT6TRQlvZDX+ZdOG4QriE=" \ -d "payment_method_options[card][three_d_secure][transaction_id]"=aaa65c7b-b0fc-4e71-bd6c-29c87acad489 \ -d confirm=true \ -d error_on_requires_action=true

Traiter un paiement avec une API PaymentMethod

Si vous tokenisez les informations de carte avec l’API Payment Methods :

  1. Créez et confirmez un PaymentIntent avec l’ID du PaymentMethod et les informations 3DS en un seul appel à l’API.
  2. Lors de la création du PaymentIntent, définissez le paramètre confirm sur true.
  3. Définissez le paramètre error_on_requires_action sur true lorsque vous confirmez le PaymentIntent pour empêcher Stripe d’effectuer une requête 3DS lors d’un refus de paiement conditionnel.
Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=2000 \ -d currency=eur \ -d "payment_method_types[]"=card \ -d customer=
{{CUSTOMER_ID}}
\ -d payment_method=
{{PAYMENT_METHOD_ID}}
\ -d "payment_method_options[card][three_d_secure][version]"="2.2.0" \ -d "payment_method_options[card][three_d_secure][electronic_commerce_indicator]"=02 \ --data-urlencode "payment_method_options[card][three_d_secure][cryptogram]"="M6+990I6FLD8Y6rZz9d5QbfrMNY=" \ -d "payment_method_options[card][three_d_secure][transaction_id]"=f879ea1c-aa2c-4441-806d-e30406466d79 \ -d confirm=true \ -d error_on_requires_action=true

Mise en garde

Si vous avez l’intention de traiter un paiement avec un PaymentMethod peu de temps après la tokénisation des informations de carte, utilisez plutôt les données brutes de la carte.

Configurer des paiements futurs

Le protocole 3DS prend en charge deux catégories de messages :

  • L’authentification des paiements : qui permet d’authentifier les titulaires de carte bancaire lors des transactions.
  • L’authentification sans paiement : qui permet de vérifier des identités et des comptes.

Si vous souhaitez inscrire des clients en vue de paiements futurs, incluez le cryptogramme d’authentification sans paiement ainsi que les informations de carte ou l’ID de PaymentMethod à la création et la confirmation d’un SetupIntent.

Command Line
cURL
curl https://api.stripe.com/v1/setup_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "payment_method_types[]"=card \ -d customer=
{{CUSTOMER_ID}}
\ -d payment_method=
{{PAYMENT_METHOD_ID}}
\ -d "payment_method_options[card][three_d_secure][version]"="2.2.0" \ -d "payment_method_options[card][three_d_secure][electronic_commerce_indicator]"=05 \ --data-urlencode "payment_method_options[card][three_d_secure][cryptogram]"=4BQwsg4yuKt0S1LI1nDZTcO9vUM= \ -d "payment_method_options[card][three_d_secure][transaction_id]"=f879ea1c-aa2c-4441-806d-e30406466d79 \ -d confirm=true \ -d "expand[]"=latest_attempt

Importer des résultats exemptés de l’authentification 3DS

Si vous obtenez un résultat 3DS en dehors de Stripe contenant une exemption de la SCA de type ‘low-risk’, vous pouvez signaler à Stripe la nature fondée sur l’exemption du résultat 3DS en utilisant le paramètre exemption_indicator.

Si l’analyse du risque de transaction en temps réel assurée par Stripe détermine que cela est approprié, Stripe demande l’exemption pour les transactions à faible risque à l’émetteur et vous communique cette action en renvoyant exemption_indicator_applied dans la réponse à la requête d’autorisation.

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=2000 \ -d currency=eur \ -d "payment_method_types[]"=card \ -d payment_method=
{{PAYMENT_METHOD_ID}}
\ -d "payment_method_options[card][three_d_secure][version]"="2.2.0" \ -d "payment_method_options[card][three_d_secure][electronic_commerce_indicator]"=07 \ --data-urlencode "payment_method_options[card][three_d_secure][cryptogram]"="CJSJbzXT6TRQlvZDX+ZdOG4QriE=" \ -d "payment_method_options[card][three_d_secure][transaction_id]"=aaa65c7b-b0fc-4e71-bd6c-29c87acad489 \ -d "payment_method_options[card][three_d_secure][exemption_indicator]"=low_risk \ -d confirm=true \ -d error_on_requires_action=true \ -d "expand[]"=latest_charge

Pour vérifier si Stripe a demandé l’exemption pour les transactions à faible risque, développez latest_charge et inspectez l’attribut three_d_secure.

{ "id": "pi_3aTnU0Aif3fLhNTb0le1BSXI", "object": "payment_intent", // ... "latest_charge": { "id": "ch_3aTnU1AifffLhNTb0tUoEZcd", "object": "charge", // ... "payment_method_details": { "card": {

Importation des résultats Cartes Bancaires

Afin d’utiliser l’importation 3DS pour les transactions traitées sur le réseau Cartes Bancaires, vous devez explicitement transmettre le réseau authentifié dans votre requête en utilisant le paramètre network.

Pour importer des cryptogrammes Cartes Bancaires, vous avez également besoin de données supplémentaires issues de votre serveur 3DS externe. Le tableau ci-dessous détaille ces champs supplémentaires obligatoires et recommandés. Ces recommandations s’appliquent lorsque vous importez des résultats 3DS en utilisant PaymentIntents et SetupIntents.

ChampDescriptionFacultatif
electronic_commerce_indicatorL’indicateur ECI (Electronic Commerce Indicator) est renvoyé par votre fournisseur 3DS et indique le niveau de l’authentification effectuée.Facultatif. À inclure si disponible.

cb_avalgo

L’algorithme de calcul du cryptogramme utilisé par l’ACS de l’émetteur de la carte pour calculer le cryptogramme d’authentification. Également appelé cavvAlgorithm.

Extension du message ARes/RReq : CB-AVALGO

Obligatoire

cb_exemption

L’indicateur d’exemption renvoyé par Cartes Bancaires dans l’ARes. Il s’agit d’un bitmap de 3 octets (octet de poids faible en premier et bit de poids fort en premier) codé en Base64. Chaîne (4 caractères).

Extension du message ARes : CB-EXEMPTION

Facultatif. À inclure si disponible.

cb_score

Score de risque renvoyé par Cartes bancaires dans l’ARes. Valeur numérique entre 0 et 99.

Extension du message ARes/RReq : CB-SCORE

Facultatif. À inclure si disponible.

ares_trans_status

Le transStatus renvoyé par l’ACS de l’émetteur de la carte dans l’ARes.

Facultatif. À inclure si disponible.

requestor_challenge_indicatorL’indicateur de challenge (threeDSRequestorChallengeInd) demandé dans l’AReq envoyée à l’ACS de l’émetteur de la carte. Chaîne contenant 2 chiffres de 01 à 99.Facultatif. À inclure si disponible.

Fournissez le plus grand nombre possible de ces champs supplémentaires afin d’augmenter vos chances de voir l’autorisation aboutir.

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=2000 \ -d currency=eur \ -d "payment_method_types[]"=card \ -d payment_method=
{{PAYMENT_METHOD_ID}}
\ -d "payment_method_options[card][network]"=cartes_bancaires \ -d "payment_method_options[card][three_d_secure][version]"="2.2.0" \ -d "payment_method_options[card][three_d_secure][electronic_commerce_indicator]"=05 \ --data-urlencode "payment_method_options[card][three_d_secure][cryptogram]"="CJSJbzXT6TRQlvZDX+ZdOG4QriE=" \ -d "payment_method_options[card][three_d_secure][transaction_id]"=aaa65c7b-b0fc-4e71-bd6c-29c87acad489 \ -d "payment_method_options[card][three_d_secure][requestor_challenge_indicator]"=02 \ -d "payment_method_options[card][three_d_secure][ares_trans_status]"=Y \ -d "payment_method_options[card][three_d_secure][network_options][cartes_bancaires][cb_avalgo]"=1 \ -d "payment_method_options[card][three_d_secure][network_options][cartes_bancaires][cb_score]"=9 \ -d "payment_method_options[card][three_d_secure][network_options][cartes_bancaires][cb_exemption]"=BAAA \ -d confirm=true \ -d error_on_requires_action=true

Exemptions avec le réseau Cartes Bancaires

Si une exemption de SCA vous a été accordée sur 3DS, vous devez soumettre le paramètre cb_exemption, le paramètre exemption_indicator ou les deux. Si l’un de ces paramètres indique que l’exemption vaut pour un faible risque déterminé par l’analyse du risque de la transaction de l’acquéreur, Stripe réévalue la transaction, comme décrit dans Importer les résultats d’exemption 3DS.

  • Si vous avez accès à cb_exemption, transmettez cette valeur sans renseigner exemption_indicator. Stripe déduit l’indicateur d’exemption approprié en fonction de cb_exemption.
  • Si vous transmettez à la fois les paramètres cb_exemption et exemption_indicator, assurez-vous qu’ils indiquent tous les deux correctement l’état d’exemption.
  • En cas de non-concordance pour laquelle exemption_indicator=none et le bitmap dans cb_exemption indiquent que l’exemption appliquée est une exemption à faible risque, Stripe rejette la requête.

Tests

Vous pouvez valider votre intégration dans un environnement de test à l’aide de l’une ou l’autre des cartes de test d’authentification requises : 4000 0027 6000 3184 ou pm_card_authenticationRequired.

La simulation accepte tout résultat 3DS correctement formaté. Par exemple :

  • Version : 2.1.0
  • Indicateur de commerce électronique : 02
  • Cryptogramme : M6+990I6FLD8Y6rZz9d5QbfrMNY=
  • ID de transaction : 5f5d08f2-8c36-4f72-99d1-57b4fb70b7d5

Ou :

  • Version : 2.2.0
  • Indicateur de commerce électronique : 05
  • Cryptogramme : 4BQwsg4yuKt0S1LI1nDZTcO9vUM=
  • ID de transaction : f879ea1c-aa2c-4441-806d-e30406466d79

Exemptions accordées via 3DS

Dans un environnement de test, toutes les cartes contenant l’indicateur exemption_indicator renvoient la valeur exemption_indicator_applied définie sur « true ». Pour tester une création de PaymentIntent qui ne passe pas le contrôle TRA interne et qui renvoie la valeur « false », utilisez le numéro de carte bancaire 4000 0000 0001 6123 et définissez l’indicateur sur exemption_indicator=low_risk.

Cartes Bancaires

Vous pouvez utiliser les cartes co-badgées suivantes pour tester l’importation des résultats Cartes bancaires :

NuméroMarqueCVCDate
Cartes bancaires / Visa3 chiffres aléatoiresToute date postérieure à la date du jour
Cartes bancaires / Mastercard3 chiffres aléatoiresToute date postérieure à la date du jour
Cartes bancaires / Visa3 chiffres aléatoiresToute date postérieure à la date du jour

Vous pouvez utiliser n’importe quelle valeur cb_exemption valide dans vos tests. Par exemple :

  • AAAA - Aucune exemption accordée
  • BAAA - Exemption pour faible risque accordée

Comme pour le flux d’exemptions standard, lorsque la valeur de cb_exemption correspond à un risque faible, seule la carte de test 4000 0000 0001 6123 renvoie la valeur « false » pour l’attribut exemption_indicator_applied.

Utilisation du PAN brut

Stripe demande aux utilisateurs de valider que les données du titulaire de la carte soient traitées de manière sécurisée et en conformité avec la norme PCI DSS (Payment Card Industry Data Security Standard) avant d’accorder l’accès aux API de données de cartes bancaires brutes.

Pour les entreprises qui ont besoin de cette fonctionnalité, Stripe impose des exigences strictes, notamment :

  • Validation de la conformité à la norme PCI DSS
  • Soumission au processus d’examen Stripe
  • Consentement au maintien de contrôles supplémentaires en plus des paramètres de sécurité par défaut de Stripe

Consultez l’article de support intitulé Activer l’accès aux API de données brutes de carte pour en savoir plus sur l’activation.

Remarque

Pour les comptes bénéficiant d’une tarification personnalisée, si vous indiquez Stripe comme acquéreur dans la requête 3DS, Stripe répercutera les coûts de réseau applicables à 3DS, conformément au contrat que vous avez passé avec Stripe.

Voir aussi

  • Options 3D Secure dans les PaymentIntents
Cette page vous a-t-elle été utile ?
OuiNon
Besoin d'aide ? Contactez le service Support.
Rejoignez notre programme d'accès anticipé.
Consultez notre log des modifications.
Des questions ? Contactez l'équipe commerciale.
LLM ? Lire llms.txt.
Propulsé par Markdoc