En Octobre 2022, l'ensemble des transactions seront authentifiées uniquement avec le 3DSV2. L'authentification 3DSV1 ne sera plus disponible.
Cette section est une synthèse des évolutions permettant à un marchand de bénéficier du 3DSV2 à la place du 3DSV1.
Chez Axepta, cela signifie ajouter le paramètre 'msgVer=2.0' pour les paiements classiques. Les autres cas d'usage sont décrits dans la section Fonctionnalités de paiement
Etes-vous concernés ?
Pour vérifier la version du protocole 3-D Secure utilisée par votre boutique en ligne, veuillez vous référer à la rubrique Identifier votre version du protocole 3-D Secure
Introduction
L'utilisation de l'authentifcation 3D Secure permet de protéger le marchand contre le motif d'impayés "contestation du porteur".
3DSV2 fournit un mécanisme permettant la réalisation d'authentifications fortes en conformité avec la DSP2.
3DSV2 offre la possibilité de faire bénéficier les acheteurs d'un parcours « frictionless », dans ce cas la banque émettrice peut approuver une transaction sans action explicite du porteur de la carte (authentification passive).
Par défaut, les requêtes de paiement sont envoyées en ‘noPreference’, le marchand ne précise pas de préférence pour le mode d'authentification (SCA ou authentification passive).
Pour plus de détails :
- Présentation générale : 3DSV2 et frictionless
- Implémentation : Paiements 'Frictionless' et exemptions
- Transfert de responsabilité : Transfert de reponsabilité et Matrices 3D-Secure
Périmètre
Toutes les transactions CB (Carte Bancaire), Visa, Mastercard et AMEX.
Évoluer vers le 3DSV2 - Avec les CMS
Retrouvez toutes les informations dans la section : Obtenir gratuitement la mise à jour de son plugin en 3DSecure 2.0
Évoluer vers le 3DSV2 - En intégration directe
Synthèse
Si vous proposez du paiement one-shot, l'évolution vers le 3DSV2 consiste à :
- Ajouter le paramètre "msgVer=2.0" dans vos requêtes de paiement
- Gérer les réponses envoyées en POST & GET
Présentation détaillée
Cas d'usages | 3DSV1 | 3DSV2 | Exemples : Objets JSON à ajouter dans les requêtes de paiements ECOM |
---|---|---|---|
Paiement classique / One-Shot | Intégration existante | Ajouter "MsgVer=2.0” - Créer une requête de paiement (CIT) D'autres données peuvent être indiquées dans la requête de paiement pour favoriser les paiements 'frictionless'. Pour plus de détails
| |
Format des réponses Paiements carte | Méthode GET pour l’URLFailure / URLSuccess / URLNotify | Méthode POST pour l’URLFailure / URLSuccess / URLNotify Méthode GET pour l’URLFailure / URLSuccess / URLNotify en cas de fallback 3DSV1 jusqu’à Mars 2022 | |
Format des réponses Moyens de paiement alternatifs | Méthode GET pour l’URLFailure / URLSuccess / URLNotify | Méthode GET pour l’URLFailure / URLSuccess / URLNotify | |
Données cartes | PCNr CCExpiry CCCVC CCBrand | Objet JSON Card Ou Objet JSON Card + PCNR / CCExpiry / CCBrand en cas de fallback 3DSV1 | |
Cas d’usage | |||
One-click Paiement initial | / | Utiliser "MsgVer=2.0”, l’objet JSON credentialOnFile et threeDSPolicy | Objet JSON credentialOnFile { "type": { "unscheduled": "CIT" }, "initialPayment": true, "useCase": "cof" } Objet JSON threeDSPolicy { "challengePreference": "mandateChallenge" } |
One-click Paiements suivants | PCNr CCExpiry CCCVC CCBrand | Utiliser "MsgVer=2.0”, l’objet JSON Card et credentialOnFile | Objet JSON credentialOnFile { "type": { "unscheduled": "CIT" }, "initialPayment": false, "useCase": "ucof" } |
Abonnement à durée et montant fixes Paiement initial | Utilisation du paramètre "RTF=I" Infos carte : PCNr, CCExpiry, CCBrand… | Server-to-Server Utiliser "MsgVer=2.0”, l’objet JSON credentialOnFile et threeDSPolicy L’objet JSON Card et le schemeReferenceID sont envoyés dans la réponse L'objet Card présent dans la réponse doit être décrypté et stocké. L'objet Card présent dans les requêtes contient moins de paramètres que l'objet Card reçu dans la réponse. Batch L'implémentation Batch reste inchangée Pour plus de détails | Objet JSON credentialOnFile { "type": { "recurring": { "recurringFrequency": 30, "recurringStartDate": "2019-09-14", "recurringExpiryDate": "2020-09-14" } }, "initialPayment": true, "useCase": "fixed" } Objet JSON threeDSPolicy { "challengePreference": "mandateChallenge" } |
Abonnement à durée et montant fixes Échéances suivantes | Utilisation du paramètre "RTF=R" Infos carte : PCNr, CCExpiry, CCBrand… | Server-to-Server Utiliser "MsgVer=2.0”, l’objet JSON credentialOnFile, l'objet JSON Card et le schemeReferenceID. L'objet Card présent dans la réponse doit être décrypté et stocké. L'objet Card présent dans les requêtes contient moins de paramètres que l'objet Card reçu dans la réponse. Batch L'implémentation Batch reste inchangée Pour plus de détails | Objet JSON credentialOnFile { "type": { "recurring": { "recurringFrequency": 30, "recurringStartDate": "2019-09-14", "recurringExpiryDate": "2020-09-14" } }, "initialPayment": false, "useCase": "fixed" } |
Abonnement à durée et montant variables Paiement initial | Utilisation du paramètre "RTF=E" Infos carte : PCNr, CCExpiry, CCBrand… | Server-to-Server Utiliser "MsgVer=2.0”, l’objet JSON credentialOnFile et threeDSPolicy L’objet JSON Card et le schemeReferenceID sont envoyés dans la réponse L'objet Card présent dans la réponse doit être décrypté et stocké. L'objet Card présent dans les requêtes contient moins de paramètres que l'objet Card reçu dans la réponse. Batch L'implémentation Batch reste inchangée Pour plus de détails | Objet JSON credentialOnFile { "type": { "unscheduled": "CIT" }, "initialPayment": true, "useCase": "ucof" } Objet JSON threeDSPolicy { "challengePreference": "mandateChallenge" } |
Abonnement à durée et montant variables Échéances suivantes | Utilisation du paramètre "RTF=M" Infos carte : PCNr, CCExpiry, CCBrand… | Server-to-Server Utiliser "MsgVer=2.0”, l’objet JSON credentialOnFile, l'objet JSON Card et le schemeReferenceID. L'objet Card présent dans la réponse doit être décrypté et stocké. L'objet Card présent dans les requêtes contient moins de paramètres que l'objet Card reçu dans la réponse. Batch L'implémentation Batch reste inchangée Pour plus de détails | Objet JSON credentialOnFile { "type": { "unscheduled": "MIT" }, "initialPayment": false, "useCase": "ucof" } |
Les fonctionnalités de paiement sont détaillés dans la section : Fonctionnalités de paiement
Tester votre intégration en 3DSV2
Pour tester votre intégration en 3DSV2 vous pouvez utiliser notre Environnement de Test - OLD.
Les paramètres clés du 3DSV2
Les paramètres clés utilisés en fonction de vos cas d'usages sont :
Paramètre | Type | Détails | Requête | Réponse |
---|---|---|---|---|
msgVer | Paramètre | Envoi de requête de paiement 3DSV2 | X | |
threeDSPolicy | Objet JSON | Piloter la demande d’authentification (forcer une authentification, demander une exemption) | X | |
browserInfo | Objet JSON | A indiquer dans le cadre de l’utilisation de paynow.aspx (one-click) | X | |
credentialOnFile | Objet JSON | Permet d’indiquer si une carte sera réutilisée par le marchand | X | |
billToCustomer | Objet JSON | Client facturé pour les achats | X | |
shipToCustomer | Objet JSON | Client livré | X | |
billingAddress | Objet JSON | Adresse de facturation | X | |
shippingAddress | Objet JSON | Adresse de livraison | X | |
Card | Objet JSON | Contient les données carte telles que le PCNr, la marque de la carte, la date d’expiration … | X | X |
schemeReferenceId | Paramètre | Donnée générée par la banque émettrice ou le scheme, utilisée dans les cas de paiement récurrents | X | X |
resultsResponse | Objet JSON | Informations complémentaires fournies en cas d’authentification | X | |
threeDSData | Objet JSON | Données d’authentification | X |