Authentification des titulaires de carte à l'aide de 3D Secure
Découvrez 3D Secure, une couche d'authentification supplémentaire que les entreprises utilisent pour lutter contre la fraude.
Fonctionnement de 3D Secure
3D Secure (3DS) utilise l’authentification multi-facteurs pour réduire la fraude liée aux transactions en ligne sans présentation de la carte. La vérification 3DS est déclenchée par les entreprises dans les tunnels de paiement en ligne et nécessite une authentification multi-facteurs (généralement via un SMS ou un e-mail contenant un code d’accès unique envoyé par Stripe).
Exemple de flux 3D Secure

Étape 1 : Le client saisit ses informations de carte.

Étape 2 : L’acquéreur demande une vérification 3DS. Si la carte Stripe Issuing est enregistrée dans 3DS, le titulaire de la carte est invité à effectuer une étape de vérification supplémentaire.
Comme indiqué ci-dessus, l’étape supplémentaire introduite par 3D Secure lors du paiement implique généralement la présentation au titulaire de la carte de la page d’authentification de son émetteur, où il est invité à saisir un code de vérification envoyé sur son téléphone ou à son adresse e-mail.
En quoi la vérification 3DS est-elle importante
Dans la plupart des cas, les entreprises sont responsables des pertes liées à la fraude dans le cadre des transactions sans présentation de la carte. Pour se protéger, les entreprises peuvent déclencher la vérification 3DS afin de réduire les chances d’accepter une transaction frauduleuse. Même si une entreprise déclenche la vérification 3DS, le titulaire de la carte n’a besoin d’effectuer cette étape que si vos cartes Stripe sont enregistrées dans 3DS. Au Royaume-Uni et dans l’UE, 3DS est la norme pour la mise en œuvre des exigences réglementaires de l’authentification forte du client (SCA).
Transfert de responsabilité
Lorsqu’une entreprise déclenche la vérification 3DS, la responsabilité en cas de fraude passe de l’entreprise à l’émetteur dans la plupart des cas. Cela s’applique que vos cartes Issuing soient enregistrées ou non dans 3DS, ce qui signifie que les émetteurs peuvent assumer une responsabilité accrue sans aucune vérification supplémentaire.
Inscription 3DS
- États-Unis : l’inscription 3DS aux États-Unis est facultative et vos cartes ne seront pas inscrites à 3DS à moins que vous ne contactiez l’assistance pour demander une inscription. Dans le cadre de nos bonnes pratiques en matière de gestion de la fraude aux transactions, nous vous recommandons d’enregistrer vos cartes dans 3DS au début du cycle de vie de votre programme Issuing. Bien que l’inscription augmente la complexité pour un sous-ensemble de vos transactions de titulaire de carte, elle contribue à réduire considérablement le risque de pertes potentielles dues à la fraude aux transactions avec des transactions en ligne sans présentation de la carte. Après votre demande d’inscription, nous inscrivons toutes les cartes actives associées à votre compte et nous le faisons automatiquement pour toutes les cartes créées par la suite.
- Cardholders without a phone number or email on file won’t be enrolled in 3DS. After requesting enrollment, you can add contact information to Cardholder objects to enroll those cards. Conversely, removing the contact info for a cardholder results in the card being unenrolled from 3DS.
- Royaume-Uni et UE : lors de la création, les cartes sont enregistrées dans 3DS par défaut en raison des réglementations locales.
- To allow the implementation of SCA over 3DS and comply with local regulations, all cards issued within the EU and UK require a valid phone number on file for the relevant cardholder.
Remarque
When you update a cardholder’s phone number or email address, we automatically re-enroll the card with the updated contact information. You don’t need to manually re-enroll the card.
Authentification 3DS
Lorsqu’une requête d’authentification 3DS se déclenche pour un titulaire de carte, Stripe lui envoie un SMS ou un e-mail contenant un code de vérification unique.
La méthode d’authentification dépend des informations de contact fournies pour le titulaire de la carte. Sur les marchés du Royaume-Uni et de l’UE pris en charge par Stripe Issuing, les titulaires de carte doivent avoir enregistré un numéro de téléphone pour pouvoir s’authentifier à l’aide d’un code de vérification par SMS ponctuel. Aux États-Unis, le numéro de téléphone ou l’adresse e-mail enregistré sera utilisé pour authentifier les titulaires de carte, mais si le numéro de téléphone et l’adresse e-mail sont présents, le numéro de téléphone sera utilisé pour l’authentification. Dans le cas contraire, la demande d’authentification utilise les coordonnées disponibles. Pour nous permettre de mieux vous sécuriser, vous et vos titulaires de carte, nous vous recommandons de tenir à jour les numéros de téléphone et les adresses e-mail des titulaires de carte. Cela nous permet de les contacter lors de l’authentification. Vous pouvez mettre à jour les informations de vos titulaires de carte en remplaçant le champ par sa nouvelle valeur via l’API ou le Dashboard.
In the UK and EU, cardholders should see an additional security question. The cardholder sees a list of transactions on the card, and they can select the transactions they recognize. If the cardholder is using the card for the first time, they select the option indicating they don’t recognize any of the presented transactions.

La liste de transactions qui est présentée au titulaire de la carte.
Choix de la langue dans 3D Secure
Le champ preferred_locales de l’objet Cardholder détermine la langue d’affichage du flux 3DS. La langue par défaut de 3DS est l’anglais.
Afin de choisir une langue 3DS pour un titulaire de carte, utilisez l’API pour définir ses preferred_
sur un tableau de langues de préférence, par ordre de préférence. Si vous le souhaitez, vous ne pouvez indiquer qu’une seule langue. Les langues prises en charge sont l’anglais (en
), le français (fr
), l’allemand (de
), l’italien (it
) et l’espagnol (es
).
Aux États-Unis, Stripe prend également en charge l’authentification via une application iOS et Android native. Si vous souhaitez utiliser cette fonctionnalité, veuillez contacter le service Support.
Quelle que soit la méthode d’authentification utilisée, si un titulaire de carte ne peut pas effectuer trois tentatives d’authentification 3DS consécutives dans un court laps de temps, 3DS est désactivé sur ses cartes pendant 60 minutes.
Exemptions
Certains types de paiements à faible risque peuvent être exemptés d’authentification forte du client. Les exemptions limitent la complexité des paiements à faible risque en réduisant la fréquence d’authentification des clients. Par défaut, Stripe peut demander les exemptions suivantes pour les cartes éligibles 3DS afin de limiter la complexité associée aux transactions qu’il juge à faible risque ou à faible valeur :
Type | Signification |
---|---|
transaction_risk_analysis (États-Unis uniquement) | Un émetteur (comme Stripe) peut effectuer une analyse de risque en temps réel pour déterminer s’il convient ou non de demander une exemption à faible risque pour une transaction. |
low_value_transaction | Les transactions inférieures à 30 GBP/EUR (ou montant équivalent converti) sont considérées comme des transactions « à faible valeur » et peuvent être exemptées d’authentification forte du client. Si l’exemption a été utilisée cinq fois depuis la dernière authentification réussie du titulaire de la carte ou si la somme des paiements précédemment exemptés dépasse 100 GBP ou EUR, l’exemption ne s’applique pas et le titulaire de la carte doit être authentifié. |
Remarque
Les acquéreurs peuvent également faire des demandes d’exemptions, et Stripe peut répondre favorablement à ces demandes. Dans ces scénarios, la responsabilité des pertes incombe à l’acquéreur et ne passe pas à l’émetteur.
Lorsqu’une exemption réclamée par l’émetteur est appliquée, l’objet Authorization se présente comme suit :
{ "object": "issuing.authorization", ... "verification_data" : { ... "authentication_exemption": { "type": "low_value_transaction", "claimed_by": "issuer" }, ... }, ... }
Inversement, lorsqu’une exemption réclamée par l’acquéreur est appliquée, l’objet Autorisation se présente comme suit :
{ "object": "issuing.authorization", ... "verification_data" : { ... "authentication_exemption": { "type": "low_value_transaction", "claimed_by": "acquirer" }, ... }, ... }
Si vous êtes établi au Royaume-Uni ou dans l’UE et que votre cas d’usage nécessite uniquement des cartes virtuelles, vous pouvez contacter le service Support de Stripe pour déterminer si une exemption du paiement SCP (Secure Corporate Payment) s’applique à votre programme.
Gestion de la fraude via 3DS
Stripe fournit les informations sur une tentative d’authentification 3DS via l’API, dans l’endpoint d’autorisation. Utilisez le hachage three_
dans le hachage verification_data pour déterminer si une autorisation a bien été authentifiée. Si vous gérez votre propre logique d’autorisation, nous vous suggérons d’utiliser ces valeurs comme données principales pour déterminer si une autorisation doit être approuvée ou rejetée.
De plus, si l’entreprise n’a pas effectué de tentative d’authentification 3DS, le champ three_
est nul. Si 3DS a été exempté, authentication_
est présent et le champ three_
est nul. Une autorisation ne peut pas contenir à la fois three_
et authentication_
.
Vous trouverez dans le tableau ci-dessous des indications sur la signification de ces valeurs ainsi que sur la manière de les utiliser pour lutter contre la fraude.
Résultat | Signification | Action suggérée |
---|---|---|
attempt_acknowledged | L’entreprise a tenté d’authentifier l’autorisation, mais la carte n’est pas inscrite ou n’a pas pu accéder à Stripe. | Il n’y a pas suffisamment d’éléments probants pour déterminer si l’autorisation est frauduleuse ou non. |
authenticated | Le client a été identifié comme étant le titulaire de la carte car il a correctement saisi le code de vérification envoyé sur son téléphone. L’achat en ligne est légitime et non frauduleux. | Approuver la transaction. |
required | L’autorisation a été refusée car les exigences réglementaires imposaient une authentification pour cette transaction, mais le marchand ne l’a pas soumise correctement et n’a pas demandé d’exemption applicable. | Refuser la transaction. |
Remarque
If the authentication fails, Stripe automatically denies the authorization to protect against fraudulent transactions. No action is required.
Comment tester 3DS
Utilisez l’API Stripe Payments pour tester l’authentification 3DS.
Créer un PaymentMethod avec votre carte émise
Vous pouvez créer un PaymentMethod à l’aide de votre propre carte émise en exécutant la commande suivante :
Remplacez les valeurs suivantes :
YOUR_
avec le numéro de votre carte émiseISSUED_ CARD_ NUMBER YOUR_
avec le CVC de votre carte émiseISSUED_ CARD_ CVC YOUR_
avec le mois d’expiration de votre carte émiseISSUED_ CARD_ EXPIRATION_ MONTH YOUR_
avec l’année d’expiration de votre carte émiseISSUED_ CARD_ EXPIRATION_ YEAR
Créer un PaymentIntent
Vous pouvez créer un PaymentIntent en exécutant la commande suivante :
Cette commande crée un PaymentIntent qui ouvre une requête d’authentification 3D Secure. Utilisez le paramètre payment_
pour procéder à l’authentification 3D Secure. Le montant doit être suffisamment élevé pour justifier une authentification. Dans cet exemple, le montant utilisé est de 150 USD.
Le paramètre "capture_
active la capture manuelle pour le PaymentIntent, ce qui signifie que les fonds sont autorisés mais pas encore capturés.
Confirmer le PaymentIntent
Vous pouvez confirmer le PaymentIntent en exécutant la commande suivante :
Remplacez pi_
par l’ID de votre PaymentIntent et pm_
par l’ID de votre PaymentMethod. Après confirmation du PaymentIntent, la réponse que vous recevez contient le champ next_
. Ce champ inclut une URL que vous pouvez utiliser pour rediriger l’utilisateur vers l’authentification 3DS.
... "next_action": { "redirect_to_url": { "return_url": "https://www.example.com ", "url": "https://hooks.stripe.com/3d_secure_2/hosted?...." }, "type": "redirect_to_url" }, ...
Annuler l’autorisation
Une fois que la demande d’authentification 3DS est effectuée et que le paiement est autorisé, vous pouvez annuler le PaymentIntent sans capturer de fonds.
Remplacez pi_
par l’ID de votre PaymentIntent.