Search Overlay

Exécuter une authentification 3D Secure 2

POST /threedsecure/v2/accounts/account_id/authentications

Une fois que vous avez reçu deviceFingerprintingId de la SDK JavaScript, vous devez l’inclure dans votre requête d’authentification avec les autres champs requis et les données contextuelles.

Voir notre documentation API complète pour une description intégrale des paramètres requis pour la requête d’authentification.

Lorsque l’authentification est terminée, Paysafe interprète la réponse du serveur répertoire et renvoie une réponse contenant les paramètres status et threeDResult* de même que authenticationId.

  • Si status=COMPLETED, le marchand doit alors consulter la matrice Transfert de responsabilité pour déterminer s’il convient de donner suite à la requête d’autorisation.
  • Si status=PENDING et threeDResult=C, l’émetteur de la carte a mis au défi le titulaire de la carte et demande une vérification supplémentaire. Dans ce cas, le marchand doit continuer à utiliser le flux de défi.

curl -X POST https://api.test.paysafe.com/threedsecure/v2/accounts/89987201/authentications \
-u devcentre322:B-qa2-0-53625f86-302c021476f52bdc9deab7aea876bb28762e62f92fc671e2d0214736abf501e9675e55940e83ef77f5c304edc7968 \
-H 'Content-type: application/json' \
-d ’{
"amount": 123,
"currency": "EUR",
"mcc": "0742",
"merchantName": "Merchant Name Inc",
"merchantRefNum": "Ref-1234",
"merchantUrl": "https://mysite.com",
"card": {
"cardExpiry": {
"month": 12,
"year": 2019
},
"cardNum": "4111111111111111",
"holderName": "John Smith"
},
"billingDetails": {
"city": "New York",
"country": "US",
"state": "AL",
"street": "My street 1",
"street2": "My street 2",
"zip": "CHY987"
},
"shippingDetails": {
"city": "New York",
"country": "US",
"state": "AL",
"street": "My street 1",
"street2": "My street 2",
"zip": "CHY987",
"shipMethod": "S"
},
"profile": {
"cellPhone": "+154657854697",
"email": "example@example.com",
"phone": "+154657854697"
},
"deviceFingerprintingId": "123e4567-e89b-12d3-a456-426655440000",
"deviceChannel": "BROWSER",
"requestorChallengePreference": "NO_PREFERENCE",
"messageCategory": "PAYMENT",
"transactionIntent": "GOODS_OR_SERVICE_PURCHASE",
"authenticationPurpose": "PAYMENT_TRANSACTION",
"orderItemDetails": {
"preOrderItemAvailabilityDate": "2014-01-26",
"preOrderPurchaseIndicator": "MERCHANDISE_AVAILABLE",
"reorderItemsIndicator": "FIRST_TIME_ORDER",
"shippingIndicator": "SHIP_TO_BILLING_ADDRESS"
},
"purchasedGiftCardDetails": {
"amount": 1234,
"count": 2,
"currency": "USD"
},
"userAccountDetails": {
"addCardAttemptsForLastDay": 1,
"changedDate": "2010-01-26",
"changedRange": "DURING_TRANSACTION",
"createdDate": "2010-01-26",
"createdRange": "NO_ACCOUNT",
"passwordChangedDate": "2012-01-26",
"passwordChangedRange": "NO_CHANGE",
"paymentAccountDetails": {
"createdRange": "NO_ACCOUNT",
"createdDate": "2010-01-26"
},
"shippingDetailsUsage": {
"cardHolderNameMatch": true,
"initialUsageDate": "2014-01-26",
"initialUsageRange": "CURRENT_TRANSACTION"
},
"suspiciousAccountActivity": true,
"totalPurchasesSixMonthCount": 1,
"transactionCountForPreviousDay": 1,
"transactionCountForPreviousYear": 3,
"userLogin": {
"authenticationMethod": "NO_LOGIN",
"data": "Some up to 2048 bytes undefined data",
"time": "2014-01-26T10:32:28Z"
}
}

}’

Avant d’essayer l’exemple, vous devez :

  • Remplacer le numéro de compte (89987201) dans l’URL par le numéro de compte de test que vous avez reçu.

La requête contient les paramètres suivants :

ÉlémentÉlément enfantTypeRequis?Description
montant integer
max=99999999999
OuiIl s’agit du montant de la requête, en unités mineures.
devise string
length<=3
OuiIl s’agit de la devise du compte marchand, p. ex. USD ou CAD.
mcc 

string

length=4

NoCe code remplace le code marchand configuré de manière statique pour la requête d’authentification spécifique.
merchantName 

string

length=1-25

NoCe code remplace le nom du marchand configuré de manière statique pour la requête d’authentification spécifique.
merchantRefNum string
length<=255
OuiIl s’agit du numéro de référence du marchand, créé par ce dernier, et soumis dans le cadre de la requête. Il doit être unique pour chaque requête.
merchantUrl string
length<=2048
OuiIl s’agit de l’adresse URL complète du site Web commercial ou du service à la clientèle du marchand.
cartecardExpiryobjectOui

Il s’agit de la date d’expiration de la carte. Les paramètres suivants sont requis :

  • month – integer, length=2
  • year – integer, length=4
cardNumstring
longueur=8-20
OuiIl s’agit du numéro de carte utilisé pour la requête.
holderNamestring
longueur<=45
OuiIl s’agit du nom du titulaire de la carte.
billingDetailscitystring
length<=40
NoIl s’agit de la ville figurant dans l’adresse de facturation.
countryenum
length=2
NoIl s’agit du pays figurant dans l’adresse de facturation.
statestring
length<=40
NoIl s’agit de la province ou de l’État ou de la province figurant dans l’adresse de facturation.
streetstring
length<=50
NoIl s’agit de la première ligne de l’adresse municipale figurant dans l’adresse de facturation.
street2string
length<=50
NoIl s’agit de la deuxième ligne de l’adresse municipale de l’adresse de facturation, si nécessaire (p. ex. numéro d’appartement).
zipstring
length<=10
NoIl s’agit du code postal de l’adresse de facturation.
useAsShippingAddressbooleanNoIndique si les données de facturation seront également utilisées comme données d’expédition.
shippingDetailscitystring
length<=40
NoIl s’agit de la ville de résidence du destinataire.
countryenum
length=2
NoIl s’agit du pays de résidence du destinataire.
statestring
length<=40
NoIl s’agit de l’État ou de la province de résidence du destinataire.
streetstring
length<=50
NoIl s’agit de l’adresse municipale du destinataire.
street2string
length<=255
NoIl s’agit de la deuxième ligne de l’adresse municipale figurant dans l’adresse de livraison, si nécessaire (p. ex. numéro d’appartement).
zipstring
length<=10
NoIl s’agit du code postal du destinataire.
shipMethodenumNo

Il s’agit du mode d’expédition. Les valeurs éventuelles sont :

  • N - Le lendemain/le jour suivant
  • T - Service en deux jours
  • C - Coût le plus bas
  • O - Autre
  • S – Le jour même
profilecellPhonestring
length<=40
NoIl s’agit du numéro de téléphone cellulaire du client.
adresse courriel

string
length<=255

NoIl s’agit de l’’adresse courriel du client.
phonestring
length<=40
NoIl s’agit du numéro de téléphone principal du client.
deviceFingerprintingId string
length<=36
OuiIl s’agit de l’UUID utilisé pour l’empreinte digitale de l’appareil.
deviceChannel enumOui

Il s'agit du type d'interface de canal utilisé pour initier la transaction. Les valeurs éventuelles sont :

  • BROWSER
  • APP
  • 3RI
requestorChallengePreference enumNo

Indique si un défi est demandé pour cette transaction. Les valeurs éventuelles sont :

  • NO_PREFERENCE
  • CHALLENGE_REQUESTED
  • CHALLENGE_MANDATED
messageCategory enumOui

Il s'agit de la catégorie du message pour un cas d'utilisation spécifique. Les valeurs éventuelles sont :

  • PAYMENT
  • NON_PAYMENT
transactionIntent enumNo

Identifie le type de transaction étant autorisée. Les valeurs éventuelles sont :

  • GOODS_OR_SERVICE_PURCHASE
  • CHECK_ACCEPTANCE
  • ACCOUNT_FUNDING
  • QUASI_CASH_TRANSACTION
  • PREPAID_ACTIVATION

Cet élément n’est requis que sur certains marchés, p. ex. le Brésil.

authenticationPurpose enumOui

C'est le type de requête d'authentification. Cet élément de données fournit des informations supplémentaires à ACS afin de déterminer la meilleure approche pour traiter une requête d'authentification. Les valeurs éventuelles sont :

  • PAYMENT_TRANSACTION
  • RECURRING_TRANSACTION
  • INSTALMENT_TRANSACTION
  • ADD_CARDMAINTAIN_CARD
  • EMV_TOKEN_VERIFICATION
maxAuthorizationsForInstalmentPayment integer
max=999
No

Indique le nombre maximum d’autorisations permises pour les paiements échelonnés.

Ceci est requis si authenticationPurpose=INSTALMENT_TRANSACTION.

initialPurchaseTime UTC formatted dateNo

Il s’agit de la date et de l’heure de l’achat. Le format de date ISO 8601 est attendu, c.-à-d. AAAA-MM-JJ-THH:MM:SSZ.

Cet élément n’est requis que si messageCategory=NON_PAYMENT et authenticationPurpose=INSTALMENT_TRANSACTION or RECURRING_TRANSACTION.

billingCycleendDateUTC formatted dateNoIl s’agit de la date après laquelle aucune autre autorisation ne sera accordée. Le format de date ISO 8601 est attendu, c’est-à-dire AAAA-MM-JJ.
frequencyinteger
max=9999
NoIl s’agit du nombre minimum de jours entre deux autorisations.
orderItemDetailspreOrderItemAvailabilityDateUTC formatted dateNoPour un achat en précommande, il s’agit de la date à laquelle la marchandise est censée être disponible. Le format de date ISO 8601 est attendu, c’est-à-dire AAAA-MM-JJ.
preOrderPurchaseIndicatorenumNo

Indique si le titulaire de la carte passe une commande pour des marchandises disponibles ou des marchandises dont la disponibilité ou la date de sortie est à venir. Les valeurs éventuelles sont :

  • MERCHANDISE_AVAILABLE
  • FUTURE_AVAILABILITY
reorderItemsIndicatorenumNo

Indique si le titulaire de la carte commande à nouveau des marchandises. Les valeurs éventuelles sont :

  • FIRST_TIME_ORDER
  • REORDER
shippingIndicatorenumNo

Il s’agit du mode de livraison pour la transaction. Les valeurs éventuelles sont :

  • SHIP_TO_BILLING_ADDRESS
  • SHIP_TO_VERIFIED_ADDRESS
  • SHIP_TO_DIFFERENT_ADDRESS
  • SHIP_TO_STORE
  • DIGITAL_GOODS
  • TRAVEL_AND_EVENT_TICKETS
  • OTHER
purchasedGiftCardDetailsmontantinteger
max=99999999999
NoIl s’agit du montant de la carte-cadeau, en unités mineures.
countinteger
max=99
NoIl s’agit du nombre total de cartes prépayées, de cartes-cadeaux ou de codes achetés.
devisestring
length=3
NoIl s’agit de la devise de la carte-cadeau, p. ex. USD ou CAD.
userAccountDetailsaddCardAttemptsForLastDayinteger
max=999
NoIl s’agit du nombre de tentatives d’ajout de carte au cours des dernières 24 heures.
changedDateUTC formatted dateNoIl s’agit de la date à laquelle le compte du titulaire de la carte auprès du demandeur 3DS a été modifié pour la dernière fois. Le format de date ISO 8601 est attendu, c’est-à-dire AAAA-MM-JJ.
changedRangeenumNo

Il s’agit du temps écoulé entre la dernière modification des informations relatives au compte du titulaire de la carte et l’appel à l’API de la transaction en cours. Les valeurs éventuelles sont :

  • DURING_TRANSACTION
  • LESS_THAN_THIRTY_DAYS
  • THIRTY_TO_SIXTY_DAYS
  • MORE_THAN_SIXTY_DAYS
createdDateUTC formatted dateNoIl s’agit de la date à laquelle le titulaire de la carte a ouvert le compte auprès du demandeur 3DS. Le format de date ISO 8601 est attendu, c’est-à-dire AAAA-MM-JJ.
createdRangeenumNo

Il s’agit du temps écoulé entre l’ouverture du compte par le titulaire de la carte auprès du demandeur 3DS et l’appel API de la transaction en cours. Les valeurs éventuelles sont :

  • NO_ACCOUNT
  • DURING_TRANSACTION
  • LESS_THAN_THIRTY_DAYS
  • THIRTY_TO_SIXTY_DAYS
  • MORE_THAN_SIXTY_DAYS
passwordChangedDateUTC formatted dateNoIl s’agit de la date à laquelle le compte du titulaire de la carte a été réinitialisé ou le mot de passe modifié. Le format de date ISO 8601 est attendu, c’est-à-dire AAAA-MM-JJ.
passwordChangedRangeenumNo

Il s’agit du temps écoulé entre le dernier changement de mot de passe ou la réinitialisation du compte du titulaire de la carte et l’appel à l’API de la transaction en cours. Les valeurs éventuelles sont :

  • NO_CHANGEDURING_TRANSACTION
  • LESS_THAN_THIRTY_DAYS
  • THIRTY_TO_SIXTY_DAYS
  • MORE_THAN_SIXTY_DAYS
paymentAccountDetails No

Détails du compte de paiement actuel du titulaire de la carte.

  • createdRange – indique la durée pendant laquelle le compte de paiement a été inscrit sur le compte du titulaire de la carte auprès du demandeur 3DS. Les valeurs éventuelles sont :
    • NO_ACCOUNT
    • DURING_TRANSACTION
    • LESS_THAN_THIRTY_DAYS
    • THIRTY_TO_SIXTY_DAYS
    • MORE_THAN_SIXTY_DAYS
  • createdDate – date à laquelle le compte de paiement a été inscrit sur le compte du titulaire de la carte auprès du demandeur 3DS. UTC formatted date
priorThreeDSAuthenticationdatastring
max=2 048 octets
NoCe champ est réservé aux futures itérations de 3D Secure 2.
methodenumNo

Il s’agit du mécanisme utilisé par le titulaire de la carte pour s’authentifier auprès du demandeur 3DS. Les valeurs éventuelles sont :

  • FRICTIONLESS_AUTHENTICATION
  • ACS_CHALLENGE
  • AVS_VERIFIED
  • OTHER_ISSUER_METHOD
Idstring
length<=36
No

Il s’agit d’un ancien identifiant d’authentification du titulaire de la carte.

Pour les paiements récurrents, il s’agit du paramètre authenticationId de la première authentification.

timeUTC formatted dateNoIl s’agit de la date et de l’heure de l’authentification du titulaire de la carte. Le format de date ISO 8601 est attendu, c’est-à-dire : AAAA-MM-JJ-THH:MM:SSZ.
shippingDetailsUsagecardHolderNameMatchbooleanNoIndique si le nom du titulaire du compte est identique au nom d’expédition utilisé pour cette transaction.
initialUsageDateUTC formatted dateNoIl s’agit de la date à laquelle l’adresse d’expédition pour cette transaction a été utilisée pour la première fois avec le demandeur 3DS. Le format de date ISO 8601 est attendu, c’est-à-dire AAAA-MM-JJ.
initialUsageRangeenumNo

Il s’agit du temps écoulé entre la première utilisation de cette adresse de livraison et la transaction en cours. Les valeurs éventuelles sont :

  • CURRENT_TRANSACTION
  • LESS_THAN_THIRTY_DAYS
  • THIRTY_TO_SIXTY_DAYS
  • MORE_THAN_SIXTY_DAYS
suspiciousAccountActivity booleanNoIndique si le demandeur 3DS a constaté une activité suspecte, y compris une fraude antérieure, sur le compte du titulaire de la carte.
totalPurchasesSixMonthCount integer
max=9999
NoIl s’agit du nombre total d’achats effectués sur le compte de ce titulaire au cours des six derniers mois.
transactionCountForPreviousDay integer
max=999
NoIl s’agit du nombre de transactions (réussies et abandonnées) pour ce compte de titulaire de carte avec le demandeur 3DS sur tous les comptes de paiement au cours des 24 dernières heures.
transactionCountForPreviousYear integer
max=999
NoIl s’agit du nombre de transactions (réussies et abandonnées) pour ce compte de titulaire de carte avec le demandeur 3DS sur tous les comptes de paiement au cours de l’année précédente.
travelDetailsisAirTravelbooleanNoIndique si la transaction est un achat lié au transport aérien, p. ex. l’achat d’un billet. La valeur par défaut est « false ».
airlineCarrierstring
length<=256
No

Il s’agit du transporteur aérien sélectionné.

Ceci est requis si isAirTravel=true.

departureDatestring
UTC formatted date
No

Il s’agit de la date de départ dans le fuseau horaire du lieu de départ. Le format de date ISO 8601 est attendu, c’est-à-dire AAAA-MM-JJ.

Ceci est requis si isAirTravel=true.

destinationstring
length<=5
No

Il s’agit du code de l’aéroport de destination.

Ceci est requis si isAirTravel=true.

originstring
length<=5
No

Il s’agit du code de l’aéroport de départ.

Ceci est requis si isAirTravel=true.

passengerFirstNamestring
length<=99
No

Il s’agit du prénom du titulaire de la carte figurant dans les données de facturation.

Ceci est requis si isAirTravel=true.

passengerLastNamestring
length<=99
No

Il s’agit du nom de famille du titulaire de la carte figurant dans les données de facturation.

Ceci est requis si isAirTravel=true.

userLoginauthenticationMethodenumNo

Il s’agit du mécanisme utilisé par le titulaire de la carte pour s’authentifier auprès du demandeur 3DS. Les valeurs éventuelles sont :

  • NO_LOGIN
  • INTERNAL_CREDENTIALS
  • FEDERATED_ID
  • ISSUER_CREDENTIALS
  • THIRD_PARY_AUTHENTICATION
  • FIDO_AUTHENTICATOR
datastring
max=2 048 octets
NoIl s’agit des données qui documentent et prennent en charge un processus d’authentification spécifique. Non spécifié actuellement en détail, destiné à transporter des données que l’ACS peut utiliser pour vérifier le processus d’authentification.
timeUTC formatted dateNoIl s’agit de la date et de l’heure de l’authentification du titulaire de la carte. Le format de date ISO 8601 est attendu, c’est-à-dire : AAAA-MM-JJ-THH:MM:SSZ.

browserDetails

Si cet objet est inclus, tous les éléments enfants sont requis.

 No
acceptHeaderstring
length<=2048
OuiIl s’agit du contenu exact de l’en-tête d’acceptation HTTP tel qu’il est envoyé au demandeur 3DS par le navigateur du titulaire de la carte.
colorDepthBitsenumOui

Il s’agit de la profondeur de bits de la palette de couleurs pour l’affichage des images, en bits par pixel. Les valeurs éventuelles sont :

  • 1
  • 4
  • 8
  • 15
  • 15
  • 24
  • 32
  • 48
customerIpstring
Valid IPv4/IPv6
OuiIl s’agit de l’adresse IP du client.
javascriptEnabledbooleanOuiCe code indique si le navigateur du titulaire de la carte est capable d’exécuter JavaScript.
javaEnabledbooleanOuiCe code indique si le navigateur du titulaire de la carte est capable d’exécuter Java.
languagestring
length<=8
OuiIl s’agit de la langue du navigateur.
screenHeightintegermax=999999OuiIl s’agit de la hauteur totale de l’écran du titulaire de la carte en pixels.
screenWidthintegermax=999999OuiIl s’agit de la largeur totale de l’écran du titulaire de la carte en pixels.
timezoneOffsetinteger
max=99999
OuiIl s’agit du décalage en minutes entre le fuseau horaire UTC et l’heure locale du navigateur du titulaire de la carte.
userAgentstring
length<=256
OuiIl s’agit de l’en-tête User-Agent du navigateur du client. Par exemple : Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36

{

"id": "123e4567-e89b-12d3-a456-4266554456745",
"cavv": "BwAQATkhGAEAABVIFSEYEGkybeU=",
"eci": 5,
"status": "COMPLETED",
"threeDResult": "Y",
"txnTime": "2019-01-21T16:28:17.735Z",
"amount": 123,
"currency": "EUR",
"merchantRefNum": "Ref-1234",
"merchantUrl": "https://mysite.com",
"card": {
"cardExpiry": {
"month": 12,
"year": 2019
},
"cardBin": "411111",
"lastDigits": "1111",
"holderName": "John Smith"
},
"billingDetails": {
"city": "New York",
"country": "US",
"state": "AL",
"street": "My street 1",
"street2": "My street 2",
"zip": "CHY987",
"useAsShippingAddress": true
},
"shippingDetails": {
"city": "New York",
"country": "US",
"state": "AL",
"street": "My street 1",
"street2": "My street 2",
"zip": "CHY987",
"shipMethod": "S"
},
"profile": {
"cellPhone": "+154657854697",
"email": "example@example.com",
"phone": "+154657854697"
},
"directoryServerTransactionId": "123e4567-e89b-12d3-a456-4266554456745",
"threeDSecureVersion": "2.1.0"
"threeDSecureServerTransactionId": "9411c7dc-72dc-4c2d-8dc6-eeb86e8d9532"

}

Les paramètres de réponse non contenus dans la requête sont décrits ci-dessous :

ÉlémentÉlément enfantTypeDescription
Id string
length<=36
Il s’agit de l’identifiant unique renvoyé dans la réponse.
cavv string
length<=2048

Il s’agit de la valeur de vérification de l’authentification du titulaire de carte, qui indique que la transaction a été authentifiée.

Elle n’existe que lorsqu’aucun défi n’est nécessaire, c.-à-d. lors d’une authentification sans friction réussie.

eci integer
longueur<=2

Il s’agit du code de l’indicateur de commerce électronique, qui est renvoyé par l’émetteur de la carte indiquant si le titulaire de la carte a été authentifié avec succès. Veuillez noter que dans certains cas, la valeur eci comprend un zéro de gauche, p. ex. 01 ou 02.

Visa, Amex, JCB et Diners Club

  • 5 – Identifie une transaction authentifiée avec succès.
  • 6 – Identifie une tentative de transaction authentifiée.
  • 7 – Identifie une transaction non authentifiée.

Mastercard

  • 0 – Identifie une transaction non authentifiée.
  • 1 – Identifie une tentative de transaction authentifiée.
  • 2 – Identifie une transaction authentifiée avec succès.

Cela n’existe que lorsqu’aucun défi n’est nécessaire, c.-à-d. dans le cas d’une authentification sans friction.

status enum

Il s’agit de l’état de la requête d’authentification. Les valeurs éventuelles sont :

  • COMPLETED – la transaction a été achevée.
  • PENDING – La transaction n’est pas encore achevée.

  • FAILED – La requête d’authentification a échoué.
threeDResult enum

Indique le résultat de l’authentification. Les valeurs éventuelles sont :

  • Y – Le titulaire de la carte s’est authentifié avec succès auprès de l’émetteur de sa carte.
  • A – L’authentification du titulaire de la carte a été tentée.
  • N – Le titulaire de la carte ne s’est pas authentifié auprès de l’émetteur de sa carte.
  • U – L’authentification auprès de l’émetteur de la carte n’était pas disponible.
  • C – Défi requis; une authentification supplémentaire est nécessaire.
  • R – Transaction refusée.

Les valeurs C et R n’existent que pour 3D Secure 2.

Voir Résultats 3D Secure pour de plus amples renseignements sur ces valeurs de résultat d’authentification.

txnTime 

string

Format UTC

Il s’agit de la date et de l’heure auxquelles la requête a été traitée. Le format de date ISO 8601 est attendu, c’est-à-dire : AAAA-MM-JJ-THH:MM:SSZ.
cartecardBinstring
length<=6-8
Il s’agit du numéro d’identification bancaire de la carte (NIB). Il s’agit généralement des 6 premiers chiffres de la carte.
lastDigitsstring
length=4
Il s’agit des quatre derniers chiffres de la carte utilisée pour la requête.
directoryServerTransactionId string
length<=36

Il s’agit de l’identifiant de transaction du serveur répertoire requis pour Mastercard.

Existe seulement pour 3D Secure 2.

threeDSecureVersion string
min=5, max=8
Il s’agit de la version du protocole 3D Secure.
threeDSecureServerTransactionId string
length<=36

L’identifiant de la transaction du serveur 3D Secure.

Remarque : Existe seulement pour 3DS 1.0.2.

{

"id": "123e4567-e89b-12d3-a456-4266554456745",
"acsUrl": "https://www.acs.com",
"status": "PENDING",
"threeDResult": "C"
"txnTime": "2019-01-21T16:28:17.735Z",
"amount": 123,
"currency": "EUR",
"merchantRefNum": "Ref-1234",
"merchantUrl": "https://mysite.com",
"card": {
"cardExpiry": {
"month": 12,
"year": 2019
},
"cardBin": "411111",
"lastDigits": "1111",
"holderName": "John Smith"
},
"billingDetails": {
"city": "New York",
"country": "US",
"state": "AL",
"street": "My street 1",
"street2": "My street 2",
"zip": "CHY987",
"useAsShippingAddress": true
},
"shippingDetails": {
"city": "New York",
"country": "US",
"state": "AL",
"street": "My street 1",
"street2": "My street 2",
"zip": "CHY987",
"shipMethod": "S"
},
"profile": {
"cellPhone": "+154657854697",
"email": "example@example.com",
"phone": "+154657854697"
},
"directoryServerTransactionId": "123e4567-e89b-12d3-a456-4266554456745",
"threeDSecureVersion": "2.1.0",
"threeDSecureServerTransactionId": "9411c7dc-72dc-4c2d-8dc6-eeb86e8d9532",
"payload": "eyJtZXNzYWdlVHlwZSI6IkNSZXMiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIiwidGhyZWVEU1NlcnZlclRyYW5zSUQiOiI
4NWUxZDA1Mi1iM2NkLTRmM2YtOWVlZC1lMDdjYzQxOTk0OTkiLCJhY3NUcmFuc0lEIjoiM2QzZmVmMDUtMWJmMC00Yjk3LWEyYmUtMTk
5MzQ0YTYwMDg4IiwiYWNzVWlUeXBlIjoiMDEiLCJjaGFsbGVuZ2VBZGRJbmZvIjoiQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvbiB3aHk
geW91IGFyZSBiZWluZyBjaGFsbGFuZ2VkISIsImNoYWxsZW5nZUNvbXBsZXRpb25JbmQiOiJOIiwiY2hhbGxlbmdlSW5mb0hlYWRlciI
6Ik9UUCBIZWFkZXIiLCJjaGFsbGVuZ2VJbmZvTGFiZWwiOiJPVFAiLCJjaGFsbGVuZ2VJbmZvVGV4dCI6IlBsZWFzZSBlbnRlciB5b3V
yIE9UUCIsImNoYWxsZW5nZUluZm9UZXh0SW5kaWNhdG9yIjoiTiIsImlzc3VlckltYWdlIjp7Im1lZGl1bSI6Imh0dHBzOi8vd3d3LmN
hcmRpbmFsY29tbWVyY2UuY29tL2ltYWdlcy9jYXJkaW5hbC1sb2dvLnN2ZyIsImhpZ2giOiJodHRwczovL3d3dy5jYXJkaW5hbGNvbW1
lcmNlLmNvbS9pbWFnZXMvY2FyZGluYWwtbG9nby5zdmciLCJleHRyYUhpZ2giOiJodHRwczovL3d3dy5jYXJkaW5hbGNvbW1lcmNlLmN
vbS9pbWFnZXMvY2FyZGluYWwtbG9nby5zdmcifSwicHNJbWFnZSI6eyJtZWRpdW0iOiJodHRwczovL3d3dy5jYXJkaW5hbGNvbW1lcmN
lLmNvbS9pbWFnZXMvY2FyZGluYWwtbG9nby5zdmciLCJoaWdoIjoiaHR0cHM6Ly93d3cuY2FyZGluYWxjb21tZXJjZS5jb20vaW1hZ2V
zL2NhcmRpbmFsLWxvZ28uc3ZnIiwiZXh0cmFIaWdoIjoiaHR0cHM6Ly93d3cuY2FyZGluYWxjb21tZXJjZS5jb20vaW1hZ2VzL2NhcmR
pbmFsLWxvZ28uc3ZnIn0sInJlc2VuZEluZm9ybWF0aW9uTGFiZWwiOiJTZW5kIGEgbmV3IE9UUCIsInNka1RyYW5zSUQiOiIzNzYxODR
jMS1hZmJkLTQ2NmMtYTRkZi01OTkwYTFjNTkxMDQiLCJzdWJtaXRBdXRoZW50aWNhdGlvbkxhYmVsIjoiU3VibWl0IiwidHJhbnNTdGF
0dXMiOiJZIiwiYWNzQ291bnRlckF0b1MiOiIwMDAiLCJleHBhbmRJbmZvTGFiZWwiOiJXaHkgdXNlIDNEUyBTZWN1cmU/Pz8/Pz8/Pz8
/PyIsImV4cGFuZEluZm9UZXh0IjoiWW91IHBheSBsb3dlciBpbnRlcmNoYW5nZSByYXRlcyBhbmQgZ2V0IGNoYXJnZWJhY2sgcHJvdGV
jdGlvbiEhISEhISEhISEhIiwid2h5SW5mb0xhYmVsIjoiV2h5IHVzZSAzRFMgU2VjdXJlPyIsIndoeUluZm9UZXh0IjoiWW91IHBheSB
sb3dlciBpbnRlcmNoYW5nZSByYXRlcyBhbmQgZ2V0IGNoYXJnZWJhY2sgcHJvdGVjdGlvbiEifQ==",

"sdkChallengePayload": "eyJtZXNzYWdlVHlwZSI6IkNSZXMiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIiwidGhyZWVEU1NlcnZlclRyYW5zSUQiOiI
4NWUxZDA1Mi1iM2NkLTRmM2YtOWVlZC1lMDdjYzQxOTk0OTkiLCJhY3NUcmFuc0lEIjoiM2QzZmVmMDUtMWJmMC00Yjk3LWEyYmUtMTk
5MzQ0YTYwMDg4IiwiYWNzVWlUeXBlIjoiMDEiLCJjaGFsbGVuZ2VBZGRJbmZvIjoiQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvbiB3aHk
geW91IGFyZSBiZWluZyBjaGFsbGFuZ2VkISIsImNoYWxsZW5nZUNvbXBsZXRpb25JbmQiOiJOIiwiY2hhbGxlbmdlSW5mb0hlYWRlciI
6Ik9UUCBIZWFkZXIiLCJjaGFsbGVuZ2VJbmZvTGFiZWwiOiJPVFAiLCJjaGFsbGVuZ2VJbmZvVGV4dCI6IlBsZWFzZSBlbnRlciB5b3V
yIE9UUCIsImNoYWxsZW5nZUluZm9UZXh0SW5kaWNhdG9yIjoiTiIsImlzc3VlckltYWdlIjp7Im1lZGl1bSI6Imh0dHBzOi8vd3d3LmN
hcmRpbmFsY29tbWVyY2UuY29tL2ltYWdlcy9jYXJkaW5hbC1sb2dvLnN2ZyIsImhpZ2giOiJodHRwczovL3d3dy5jYXJkaW5hbGNvbW1
lcmNlLmNvbS9pbWFnZXMvY2FyZGluYWwtbG9nby5zdmciLCJleHRyYUhpZ2giOiJodHRwczovL3d3dy5jYXJkaW5hbGNvbW1lcmNlLmN
vbS9pbWFnZXMvY2FyZGluYWwtbG9nby5zdmcifSwicHNJbWFnZSI6eyJtZWRpdW0iOiJodHRwczovL3d3dy5jYXJkaW5hbGNvbW1lcmN
lLmNvbS9pbWFnZXMvY2FyZGluYWwtbG9nby5zdmciLCJoaWdoIjoiaHR0cHM6Ly93d3cuY2FyZGluYWxjb21tZXJjZS5jb20vaW1hZ2V
zL2NhcmRpbmFsLWxvZ28uc3ZnIiwiZXh0cmFIaWdoIjoiaHR0cHM6Ly93d3cuY2FyZGluYWxjb21tZXJjZS5jb20vaW1hZ2VzL2NhcmR
pbmFsLWxvZ28uc3ZnIn0sInJlc2VuZEluZm9ybWF0aW9uTGFiZWwiOiJTZW5kIGEgbmV3IE9UUCIsInNka1RyYW5zSUQiOiIzNzYxODR
jMS1hZmJkLTQ2NmMtYTRkZi01OTkwYTFjNTkxMDQiLCJzdWJtaXRBdXRoZW50aWNhdGlvbkxhYmVsIjoiU3VibWl0IiwidHJhbnNTdGF
0dXMiOiJZIiwiYWNzQ291bnRlckF0b1MiOiIwMDAiLCJleHBhbmRJbmZvTGFiZWwiOiJXaHkgdXNlIDNEUyBTZWN1cmU/Pz8/Pz8/Pz8
/PyIsImV4cGFuZEluZm9UZXh0IjoiWW91IHBheSBsb3dlciBpbnRlcmNoYW5nZSByYXRlcyBhbmQgZ2V0IGNoYXJnZWJhY2sgcHJvdGV
jdGlvbiEhISEhISEhISEhIiwid2h5SW5mb0xhYmVsIjoiV2h5IHVzZSAzRFMgU2VjdXJlPyIsIndoeUluZm9UZXh0IjoiWW91IHBheSB
sb3dlciBpbnRlcmNoYW5nZSByYXRlcyBhbmQgZ2V0IGNoYXJnZWJhY2sgcHJvdGVjdGlvbiEifQ=="

}

Les paramètres de réponse non contenus dans la requête sont décrits ci-dessous :

ÉlémentÉlément enfantTypeDescription
Id string
length<=36
Il s’agit de l’identifiant unique renvoyé dans la réponse.
acsUrl string
length<=2048

Il s’agit de l’URL entièrement qualifiée pour rediriger le consommateur pour compléter l’opération d’authentification du payeur.

status enum

Il s’agit de l’état de la requête d’authentification. Les valeurs éventuelles sont :

  • COMPLETED – la transaction a été achevée.
  • PENDING – La transaction n’est pas encore achevée.

  • FAILED – La requête d’authentification a échoué.
threeDResult enum

Indique le résultat de l’authentification. Les valeurs éventuelles sont :

  • Y – Le titulaire de la carte s’est authentifié avec succès auprès de l’émetteur de sa carte.
  • A – L’authentification du titulaire de la carte a été tentée.
  • N – Le titulaire de la carte ne s’est pas authentifié auprès de l’émetteur de sa carte.
  • U – L’authentification auprès de l’émetteur de la carte n’était pas disponible.
  • C – Défi requis; une authentification supplémentaire est nécessaire.
  • R – Transaction refusée.

Les valeurs C et R n’existent que pour 3D Secure 2.

Voir Résultats 3D Secure pour de plus amples renseignements sur ces valeurs de résultat d’authentification.

txnTime 

string

Format UTC

Il s’agit de la date et de l’heure auxquelles la requête a été traitée. Le format de date ISO 8601 est attendu, c’est-à-dire : AAAA-MM-JJ-THH:MM:SSZ.
cartecardBinstring
length=6-8
Il s’agit du numéro d’identification bancaire de la carte (NIB). Il s’agit généralement des 6 premiers chiffres de la carte.
lastDigitsstring
length=4
Il s’agit des quatre derniers chiffres de la carte utilisée pour la requête.
directoryServerTransactionId string
length<=36

Il s’agit de l’identifiant de transaction du serveur répertoire requis pour Mastercard.

Existe seulement pour 3D Secure 2.

threeDSecureVersion string
min=5, max=8
Il s’agit de la version du protocole 3D Secure.
threeDSecureServerTransactionId string
length<=36

L’identifiant de la transaction du serveur 3D Secure.

Remarque : Existe seulement pour 3DS 1.0.2.

payload stringlength<=2048Il s’agit de la demande d’authentification de paiement encodée générée par le système de traitement d’authentification du marchand (MAPS).
sdkChallengePayload stringlength<=9999Il s’agit de données utiles qui, si elles sont renvoyées, doivent être transmises à la fonction challenge de la SDK JavaScript pour que le défi se poursuive.

{

"id": "123e4567-e89b-12d3-a456-4266554456745",
"acsUrl": "https://www.acs.com",
"xid": "MTU0ODE1MjExNDYzMXBVY1ZqU3k=",
"status": "PENDING",
"threeDEnrollment": "Y",
"txnTime": "2019-01-21T16:28:17.735Z",
"amount": 123,
"currency": "EUR",
"merchantRefNum": "Ref-1234",
"merchantUrl": "https://mysite.com",
"card": {
"cardExpiry": {
"month": 12,
"year": 2019
},
"cardBin": "411111",
"lastDigits": "1111",
"holderName": "John Smith"
},
"billingDetails": {
"city": "New York",
"country": "US",
"state": "AL",
"street": "My street 1",
"street2": "My street 2",
"zip": "CHY987",
"useAsShippingAddress": true
},
"shippingDetails": {
"city": "New York",
"country": "US",
"state": "AL",
"street": "My street 1",
"street2": "My street 2",
"zip": "CHY987",
"shipMethod": "S"
},
"profile": {
"cellPhone": "+154657854697",
"email": "example@example.com",
"phone": "+154657854697"
},
"threeDSecureVersion": "1.0.2",
"payload": "eyJtZXNzYWdlVHlwZSI6IkNSZXMiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIiwidGhyZWVEU1NlcnZlclRyYW5zSUQiOiI
4NWUxZDA1Mi1iM2NkLTRmM2YtOWVlZC1lMDdjYzQxOTk0OTkiLCJhY3NUcmFuc0lEIjoiM2QzZmVmMDUtMWJmMC00Yjk3LWEyYmUtMTk
5MzQ0YTYwMDg4IiwiYWNzVWlUeXBlIjoiMDEiLCJjaGFsbGVuZ2VBZGRJbmZvIjoiQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvbiB3aHk
geW91IGFyZSBiZWluZyBjaGFsbGFuZ2VkISIsImNoYWxsZW5nZUNvbXBsZXRpb25JbmQiOiJOIiwiY2hhbGxlbmdlSW5mb0hlYWRlciI
6Ik9UUCBIZWFkZXIiLCJjaGFsbGVuZ2VJbmZvTGFiZWwiOiJPVFAiLCJjaGFsbGVuZ2VJbmZvVGV4dCI6IlBsZWFzZSBlbnRlciB5b3V
yIE9UUCIsImNoYWxsZW5nZUluZm9UZXh0SW5kaWNhdG9yIjoiTiIsImlzc3VlckltYWdlIjp7Im1lZGl1bSI6Imh0dHBzOi8vd3d3LmN
hcmRpbmFsY29tbWVyY2UuY29tL2ltYWdlcy9jYXJkaW5hbC1sb2dvLnN2ZyIsImhpZ2giOiJodHRwczovL3d3dy5jYXJkaW5hbGNvbW1
lcmNlLmNvbS9pbWFnZXMvY2FyZGluYWwtbG9nby5zdmciLCJleHRyYUhpZ2giOiJodHRwczovL3d3dy5jYXJkaW5hbGNvbW1lcmNlLmN
vbS9pbWFnZXMvY2FyZGluYWwtbG9nby5zdmcifSwicHNJbWFnZSI6eyJtZWRpdW0iOiJodHRwczovL3d3dy5jYXJkaW5hbGNvbW1lcmN
lLmNvbS9pbWFnZXMvY2FyZGluYWwtbG9nby5zdmciLCJoaWdoIjoiaHR0cHM6Ly93d3cuY2FyZGluYWxjb21tZXJjZS5jb20vaW1hZ2V
zL2NhcmRpbmFsLWxvZ28uc3ZnIiwiZXh0cmFIaWdoIjoiaHR0cHM6Ly93d3cuY2FyZGluYWxjb21tZXJjZS5jb20vaW1hZ2VzL2NhcmR
pbmFsLWxvZ28uc3ZnIn0sInJlc2VuZEluZm9ybWF0aW9uTGFiZWwiOiJTZW5kIGEgbmV3IE9UUCIsInNka1RyYW5zSUQiOiIzNzYxODR
jMS1hZmJkLTQ2NmMtYTRkZi01OTkwYTFjNTkxMDQiLCJzdWJtaXRBdXRoZW50aWNhdGlvbkxhYmVsIjoiU3VibWl0IiwidHJhbnNTdGF
0dXMiOiJZIiwiYWNzQ291bnRlckF0b1MiOiIwMDAiLCJleHBhbmRJbmZvTGFiZWwiOiJXaHkgdXNlIDNEUyBTZWN1cmU/Pz8/Pz8/Pz8
/PyIsImV4cGFuZEluZm9UZXh0IjoiWW91IHBheSBsb3dlciBpbnRlcmNoYW5nZSByYXRlcyBhbmQgZ2V0IGNoYXJnZWJhY2sgcHJvdGV
jdGlvbiEhISEhISEhISEhIiwid2h5SW5mb0xhYmVsIjoiV2h5IHVzZSAzRFMgU2VjdXJlPyIsIndoeUluZm9UZXh0IjoiWW91IHBheSB
sb3dlciBpbnRlcmNoYW5nZSByYXRlcyBhbmQgZ2V0IGNoYXJnZWJhY2sgcHJvdGVjdGlvbiEifQ==",

"sdkChallengePayload": "eyJtZXNzYWdlVHlwZSI6IkNSZXMiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIiwidGhyZWVEU1NlcnZlclRyYW5zSUQiOiI
4NWUxZDA1Mi1iM2NkLTRmM2YtOWVlZC1lMDdjYzQxOTk0OTkiLCJhY3NUcmFuc0lEIjoiM2QzZmVmMDUtMWJmMC00Yjk3LWEyYmUtMTk
5MzQ0YTYwMDg4IiwiYWNzVWlUeXBlIjoiMDEiLCJjaGFsbGVuZ2VBZGRJbmZvIjoiQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvbiB3aHk
geW91IGFyZSBiZWluZyBjaGFsbGFuZ2VkISIsImNoYWxsZW5nZUNvbXBsZXRpb25JbmQiOiJOIiwiY2hhbGxlbmdlSW5mb0hlYWRlciI
6Ik9UUCBIZWFkZXIiLCJjaGFsbGVuZ2VJbmZvTGFiZWwiOiJPVFAiLCJjaGFsbGVuZ2VJbmZvVGV4dCI6IlBsZWFzZSBlbnRlciB5b3V
yIE9UUCIsImNoYWxsZW5nZUluZm9UZXh0SW5kaWNhdG9yIjoiTiIsImlzc3VlckltYWdlIjp7Im1lZGl1bSI6Imh0dHBzOi8vd3d3LmN
hcmRpbmFsY29tbWVyY2UuY29tL2ltYWdlcy9jYXJkaW5hbC1sb2dvLnN2ZyIsImhpZ2giOiJodHRwczovL3d3dy5jYXJkaW5hbGNvbW1
lcmNlLmNvbS9pbWFnZXMvY2FyZGluYWwtbG9nby5zdmciLCJleHRyYUhpZ2giOiJodHRwczovL3d3dy5jYXJkaW5hbGNvbW1lcmNlLmN
vbS9pbWFnZXMvY2FyZGluYWwtbG9nby5zdmcifSwicHNJbWFnZSI6eyJtZWRpdW0iOiJodHRwczovL3d3dy5jYXJkaW5hbGNvbW1lcmN
lLmNvbS9pbWFnZXMvY2FyZGluYWwtbG9nby5zdmciLCJoaWdoIjoiaHR0cHM6Ly93d3cuY2FyZGluYWxjb21tZXJjZS5jb20vaW1hZ2V
zL2NhcmRpbmFsLWxvZ28uc3ZnIiwiZXh0cmFIaWdoIjoiaHR0cHM6Ly93d3cuY2FyZGluYWxjb21tZXJjZS5jb20vaW1hZ2VzL2NhcmR
pbmFsLWxvZ28uc3ZnIn0sInJlc2VuZEluZm9ybWF0aW9uTGFiZWwiOiJTZW5kIGEgbmV3IE9UUCIsInNka1RyYW5zSUQiOiIzNzYxODR
jMS1hZmJkLTQ2NmMtYTRkZi01OTkwYTFjNTkxMDQiLCJzdWJtaXRBdXRoZW50aWNhdGlvbkxhYmVsIjoiU3VibWl0IiwidHJhbnNTdGF
0dXMiOiJZIiwiYWNzQ291bnRlckF0b1MiOiIwMDAiLCJleHBhbmRJbmZvTGFiZWwiOiJXaHkgdXNlIDNEUyBTZWN1cmU/Pz8/Pz8/Pz8
/PyIsImV4cGFuZEluZm9UZXh0IjoiWW91IHBheSBsb3dlciBpbnRlcmNoYW5nZSByYXRlcyBhbmQgZ2V0IGNoYXJnZWJhY2sgcHJvdGV
jdGlvbiEhISEhISEhISEhIiwid2h5SW5mb0xhYmVsIjoiV2h5IHVzZSAzRFMgU2VjdXJlPyIsIndoeUluZm9UZXh0IjoiWW91IHBheSB
sb3dlciBpbnRlcmNoYW5nZSByYXRlcyBhbmQgZ2V0IGNoYXJnZWJhY2sgcHJvdGVjdGlvbiEifQ=="

}

Les paramètres de réponse non contenus dans la requête sont décrits ci-dessous :

ÉlémentÉlément enfantTypeDescription
Id string
length<=36
Il s’agit de l’identifiant unique renvoyé dans la réponse.
acsUrl string
longueur<=28
Il s’agit de l’URL entièrement qualifiée pour rediriger le consommateur pour compléter l’opération d’authentification du payeur.
xid string
length<=40

Il s’agit de l’identificateur de transaction renvoyé par l’émetteur de la carte.

Existe seulement pour 3DS 1.0.2.

status enum

Il s’agit de l’état de la requête d’authentification. Les valeurs éventuelles sont :

  • COMPLETED – la transaction a été achevée.
  • PENDING – La transaction n’est pas encore achevée.

  • FAILED – La requête d’authentification a échoué.
threeDEnrollment enum

Indique si le titulaire de la carte est inscrit ou non à 3D Secure. Les valeurs éventuelles sont :

  • Y – L’authentification du titulaire de la carte est disponible
  • N - Le titulaire de la carte n’est pas inscrit à l’authentification.
  • U – Authentification du titulaire de carte non disponible

Existe seulement pour 3DS 1.0.2. Si une banque émettrice ne prend pas en charge 3D Secure 2, l’API reviendra automatiquement à 3DS 1.0.2 et le paramètre ThreeDEnrollment remplacera ThreeDResult. Voir Scénarios pour de plus amples renseignements.

txnTime 

string

Format UTC

Il s’agit de la date et de l’heure auxquelles la requête a été traitée. Le format de date ISO 8601 est attendu, c’est-à-dire : AAAA-MM-JJ-THH:MM:SSZ.
cartecardBinstring
length=6-8
Il s’agit du numéro d’identification bancaire de la carte (NIB). Il s’agit généralement des 6 premiers chiffres de la carte.
lastDigitsstring
length=4
Il s’agit des quatre derniers chiffres de la carte utilisée pour la requête.
threeDSecureVersion string
min=5, max=8
Il s’agit de la version du protocole 3D Secure.
payload string
length<=2048
Il s’agit de la demande d’authentification de paiement encodée générée par le système de traitement d’authentification du marchand (MAPS).
sdkChallengePayload string
length<=9999
Il s’agit de données utiles qui, si elles sont renvoyées, doivent être transmises à la fonction challenge de la SDK JavaScript pour que le défi se poursuive.