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 :
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 :
Avertissement
Dans tous les exemples de code suivants, les paramètres définis dans l’objet three_
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 :
- Créez et confirmez un PaymentIntent avec les informations de carte bancaire et les informations 3DS en un seul appel à l’API.
- Lors de la création du PaymentIntent, définissez le paramètre confirm sur
true
. - 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.
Traiter un paiement avec une API PaymentMethod
Si vous tokenisez les informations de carte avec l’API Payment Methods :
- Créez et confirmez un PaymentIntent avec l’ID du PaymentMethod et les informations 3DS en un seul appel à l’API.
- Lors de la création du PaymentIntent, définissez le paramètre confirm sur
true
. - 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.
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.
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.
Pour vérifier si Stripe a demandé l’exemption pour les transactions à faible risque, développez latest_
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.
Champ | Description | Facultatif |
---|---|---|
electronic_commerce_indicator | L’indicateur ECI (Electronic Commerce Indicator) est renvoyé par votre fournisseur 3DS et indique le niveau de l’authentification effectuée. | Facultatif. À inclure si disponible. |
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 : | Obligatoire | |
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 : | Facultatif. À inclure si disponible. | |
Score de risque renvoyé par Cartes bancaires dans l’ARes. Valeur numérique entre 0 et 99. Extension du message ARes/RReq : | Facultatif. À inclure si disponible. | |
Le | Facultatif. À inclure si disponible. | |
requestor_challenge_indicator | L’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.
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_
, le paramètre exemption_
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_
, transmettez cette valeur sans renseignerexemption exemption_
. Stripe déduit l’indicateur d’exemption approprié en fonction deindicator cb_
.exemption - Si vous transmettez à la fois les paramètres
cb_
etexemption exemption_
, assurez-vous qu’ils indiquent tous les deux correctement l’état d’exemption.indicator - En cas de non-concordance pour laquelle
exemption_
et le bitmap dansindicator=none cb_
indiquent que l’exemption appliquée est une exemption à faible risque, Stripe rejette la requête.exemption
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_
.
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_
renvoient la valeur exemption_
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_
.
Cartes Bancaires
Vous pouvez utiliser les cartes co-badgées suivantes pour tester l’importation des résultats Cartes bancaires :
Vous pouvez utiliser n’importe quelle valeur cb_
valide dans vos tests. Par exemple :
AAAA
- Aucune exemption accordéeBAAA
- Exemption pour faible risque accordée
Comme pour le flux d’exemptions standard, lorsque la valeur de cb_
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.