Consulter les messages d'authentification
Cas d'utilisation
L’objectif du 3D Secure est de protéger les e-commerçants contre les risques de fraude et plus spécifiquement de la contestation du porteur.
- Visa Secure (remplace "Verified by Visa") est le programme 3D Secure de Visa
- Mastercard Identity check (remplace "Mastercard Secure Code" ) est le programme 3D Secure de Mastercard
- Safekey est le programme 3D Secure d’American Express
- CB Paiement sécurisé est le programme 3D Secure de CB
- ProtectBuy est le programme 3D Secure de Diners et Discover
Ce WebService sert à récupérer les messages échangés dans le cadre de l'authentification.
En cas de contestation, ces données sont indispensables pour protéger le marchand avec une preuve de l'authentification du porteur.
Requête
Les messages d'authentification peuvent être récupérés à partir de l'identifiant unique d'authentification. Celui-ci provient du champ authenticationResponse.id présent dans le résultat final des appels aux Web Services PCI/Authentication/CreateSession, PCI/Charge/CreatePayment reçu via l'IPN ou IAN. Ou en réponse des Web Services PCI/Authentication/GetSession, Transaction/Get, Order/Get.
Ici un exemple dans le résultat d'authentification (reçu dans l'IAN suite à l'appel au PCI/Authentication/CreateSession)
- objet
AuthenticationResponseData
: - chemin :
answer.id
{
(...)
"answer": {
"id": "cb3cb538-1959-47c0-ba8d-2be52e535d81",
"protocol": {
(...)
"_type": "V4/Charge/Authenticate/Protocol"
},
"value": {
"authenticationType": "FRICTIONLESS",
"authenticationId": {
(...)
"_type": "V4/Charge/Authenticate/AuthenticationId"
},
"authenticationValue": {
(...)
"_type": "V4/Charge/Authenticate/AuthenticationValue"
},
"status": "SUCCESS",
"commerceIndicator": "05",
"extension": {
(...)
"_type": "V4/Charge/Authenticate/AuthenticationResultExtensionThreedsV2"
},
"reason": {
"_type": "V4/Charge/Authenticate/AuthenticationResultReason"
},
"_type": "V4/Charge/Authenticate/AuthenticationResult"
},
"_type": "V4/AuthenticationResponseData"
}
}
Dans l'exemple :
id
: "cb3cb538-1959-47c0-ba8d-2be52e535d81" (lien : Playground)
Ici un exemple dans le résultat du paiement (depuis l'IPN ou le retour à la boutique)
- objet
Payment
: - chemin :
transactions.transactionDetails.cardDetails.authenticationResponse.id
Exemple de réponse : objet Payment
{
"transactions": [
{
"shopId": "15578053",
(...)
"transactionDetails": {
(...)
"cardDetails": {
},
"authenticationResponse": {
"id": "fa73d948-2e96-45fb-a701-75812d19f7bb",
"operationSessionId": "56a80c1f94f64f549a1eb00048d56d35",
"protocol": {
(...)
},
(...)
},
"_type": "V4/Charge/Authenticate/AuthenticationResult"
},
"_type": "V4/AuthenticationResponseData"
},
"_type": "V4/PaymentTransaction"
}
]
}
Dans l'exemple :
id
: "fa73d948-2e96-45fb-a701-75812d19f7bb" (lien : Playground)
Lien vers les Web Services retournant un id d'authentification :
- Transaction/Get
- Order/Get
- PCI/Authentication/GetSession
- PCI/Authentication/CreateSession (depuis l'IAN)
- PCI/Charge/CreatePayment (depui l'IPN)
- Appelez le WebService PCI/Authentication/GetMessages avec l'identifiant unique d'authentification.
Paramètre | Requis | Description |
---|---|---|
id | Oui | Identifiant unique de l'authentification, au format UUID. |
Réponse
L'objet AuthenticationMessagesResponse contiendra les paramètres ci-dessous :
Paramètre | Description |
---|---|
id | Identifiant unique de l'authentification, au format UUID. |
messages.date | Date d'envoie ou de réception du message d'authentification. |
messages.message | Message d'authentification. |
messages.messageType | Type de message d'authentification (voir tableau ci-dessous). |
Tableau des valeurs messages.messageType
Valeurs | Nom complet | Description |
---|---|---|
AREQ | Authentication Request | Message permettant de demander et d'initier l'authentification. |
ARES | Authentication Response | Réponse du DS indiquant le statut d'authentification et si une authentification forte est nécessaire. |
CREQ | Challenge Resquest | Message initiant l'authentification forte du porteur. |
RREQ | Results Request | Message contenant le résultat final d'authentification envoyé par le DS. |
RRES | Results Response | Message d'acquittement de la réception du message RReq. |
CRES | Challenge Response | Réponse de l'ACS indiquant la fin de l'authentification forte. |
ERRO | Error message | Message d'erreur reçu ou envoyé. |
Retrouvez l'intégralité des champs dans notre playground :
Exemple de requête et de réponse
- Appel au Web Service PCI/Authentication/GetMessages avec l'identifiant unique de l'authentification d'une transaction.
Requête
{ "id": "fa73d948-2e96-45fb-a701-75812d19f7bb" }
Réponse
{
"id": "fa73d948-2e96-45fb-a701-75812d19f7bb",
"messages": [
{
"date": "2023-06-07T09:13:20Z",
"messageType": "AREQ",
"message": "{\"threeDSServerTransID\":\"4302c1cb-188a-46ac-a6c2-9677ddf1405c\",\"messageExtension\":[{\"criticalityIndicator\":false,\"data\":\"<MESSAGE_EXTENSION_DATA_ELEMENT>\",\"id\":\"A000000042_CB-EXEMPTACQ\",\"name\":\"CB-EXEMPTACQ\"},{\"criticalityIndicator\":false,\"data\":\"<MESSAGE_EXTENSION_DATA_ELEMENT>\",\"id\":\"A000000042_CB-USECASE\",\"name\":\"CB-USECASE\"}],\"messageType\":\"AReq\",\"messageVersion\":\"2.2.0\",\"deviceChannel\":\"02\",\"threeDSServerRefNumber\":\"3DS_LOA_SER_LYNE_020100_00098\",\"threeDSServerOperatorID\":\"batmanEnSlip\",\"threeDSCompInd\":\"Y\",\"threeDSRequestorAuthenticationInd\":\"01\",\"threeDSRequestorChallengeInd\":\"05\",\"threeDSRequestorID\":\"45251785700028\",\"threeDSRequestorName\":\"Lyra SMS\",\"threeDSRequestorURL\":\"http://www.lyra-sms.com\",\"threeDSServerURL\":\"http://localhost:8080/protected/v1/3dsv2/notify/rreq?network=CB&messageVersion=2.2.0&deviceChannel=BROWSER&challengeInd=NO_CHALLENGE_REQUESTED_TRA&authenticateId=4302c1cb-188a-46ac-a6c2-9677ddf1405c\",\"acctType\":\"02\",\"acquirerBIN\":\"00000017807\",\"acquirerMerchantID\":\"05785350 -08121902\",\"addrMatch\":\"N\",\"browserAcceptHeader\":\"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7\",\"browserIP\":\"10.33.168.125\",\"browserJavaEnabled\":true,\"browserJavascriptEnabled\":true,\"browserLanguage\":\"fr\",\"browserColorDepth\":\"24\",\"browserScreenHeight\":\"969\",\"browserScreenWidth\":\"1920\",\"browserTZ\":\"-120\",\"browserUserAgent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36\",\"cardExpiryDate\":\"2406\",\"acctInfo\":{\"shipNameIndicator\":\"01\"},\"acctNumber\":\"5100********0106\",\"billAddrCity\":\"toulouse\",\"billAddrCountry\":\"250\",\"billAddrLine1\":\"2 rue de test\",\"billAddrPostCode\":\"31000\",\"email\":\"parayreludovic@gmail.com\",\"homePhone\":{\"cc\":\"33\",\"subscriber\":\"670011400\"},\"mobilePhone\":{\"cc\":\"33\",\"subscriber\":\"670011492\"},\"shipAddrCity\":\"Labège\",\"shipAddrCountry\":\"250\",\"shipAddrLine1\":\"innovation\",\"shipAddrPostCode\":\"31670\",\"mcc\":\"5965\",\"merchantCountryCode\":\"250\",\"merchantName\":\"Lyra SMS\",\"messageCategory\":\"01\",\"notificationURL\":\"https://pass-inte01.lyra-labs.fr/public/v1/3dsv2/notify/cres/4302c1cb-188a-46ac-a6c2-9677ddf1405c/CB\",\"purchaseAmount\":\"20000\",\"purchaseCurrency\":\"978\",\"purchaseExponent\":\"2\",\"purchaseDate\":\"20230607091320\",\"transType\":\"01\"}"
},
{
"date": "2023-06-07T09:13:20Z",
"messageType": "ARES",
"message": "{\"threeDSServerTransID\":\"4302c1cb-188a-46ac-a6c2-9677ddf1405c\",\"messageExtension\":[{\"criticalityIndicator\":false,\"data\":\"<MESSAGE_EXTENSION_DATA_ELEMENT>\",\"id\":\"A000000042_CB-EXEMPTACQ\",\"name\":\"CB-EXEMPTACQ\"},{\"criticalityIndicator\":false,\"data\":\"<MESSAGE_EXTENSION_DATA_ELEMENT>\",\"id\":\"A000000042_CB-USECASE\",\"name\":\"CB-USECASE\"}],\"messageType\":\"ARes\",\"messageVersion\":\"2.2.0\",\"acsTransID\":\"286bf72c-dc87-4785-9fb0-82266849c320\",\"dsTransID\":\"d610d3a1-1a1c-402b-a4d1-34d1ab92165f\",\"acsChallengeMandated\":\"Y\",\"acsReferenceNumber\":\"3DS_LOA_ACS_PPFU_020100_00009\",\"acsURL\":\"https://acs-inte01.lyra-labs.fr/acs/v2/creq\",\"authenticationType\":\"02\",\"dsReferenceNumber\":\"DS_LOA_DIS_PPFU_020100_00010\",\"transStatus\":\"C\"}"
},
{
"date": "2023-06-07T09:13:20Z",
"messageType": "CREQ",
"message": "{\"threeDSServerTransID\":\"4302c1cb-188a-46ac-a6c2-9677ddf1405c\",\"messageExtension\":[{\"criticalityIndicator\":false,\"data\":\"<MESSAGE_EXTENSION_DATA_ELEMENT>\",\"id\":\"A000000042_CB-USECASE\",\"name\":\"CB-USECASE\"},{\"criticalityIndicator\":false,\"data\":\"<MESSAGE_EXTENSION_DATA_ELEMENT>\",\"id\":\"SIMULATION-AREQ\",\"name\":\"SIMULATION-AREQ\"}],\"messageType\":\"CReq\",\"messageVersion\":\"2.2.0\",\"acsTransID\":\"286bf72c-dc87-4785-9fb0-82266849c320\",\"challengeWindowSize\":\"03\"}"
},
{
"date": "2023-06-07T09:13:23Z",
"messageType": "RREQ",
"message": "{\"threeDSServerTransID\":\"4302c1cb-188a-46ac-a6c2-9677ddf1405c\",\"messageExtension\":[{\"criticalityIndicator\":false,\"data\":\"<MESSAGE_EXTENSION_DATA_ELEMENT>\",\"id\":\"A000000042_CB-AVALGO\",\"name\":\"CB-AVALGO\"}],\"messageType\":\"RReq\",\"messageVersion\":\"2.2.0\",\"acsTransID\":\"7fd8019a-c7b1-457b-9811-e3a763e789d2\",\"dsTransID\":\"a1959823-b9ff-429f-8d6e-3739ca3cf96a\",\"authenticationType\":\"01\",\"authenticationValue\":\"v**************************=\",\"eci\":\"05\",\"interactionCounter\":\"02\",\"messageCategory\":\"01\",\"transStatus\":\"Y\"}"
},
{
"date": "2023-06-07T09:13:23Z",
"messageType": "RRES",
"message": "{\"threeDSServerTransID\":\"4302c1cb-188a-46ac-a6c2-9677ddf1405c\",\"messageType\":\"RRes\",\"messageVersion\":\"2.2.0\",\"acsTransID\":\"7fd8019a-c7b1-457b-9811-e3a763e789d2\",\"dsTransID\":\"a1959823-b9ff-429f-8d6e-3739ca3cf96a\",\"resultsStatus\":\"01\"}"
},
{
"date": "2023-06-07T09:13:23Z",
"messageType": "CRES",
"message": "{\"threeDSServerTransID\":\"4302c1cb-188a-46ac-a6c2-9677ddf1405c\",\"messageType\":\"CRes\",\"messageVersion\":\"2.2.0\",\"acsTransID\":\"0b96eccc-4d1a-4d62-b1da-7d4bc97acf16\",\"dsTransID\":\"9bd29fdc-9487-4343-8710-2fdd5909734e\",\"challengeSelectInfo\":[],\"transStatus\":\"Y\"}"
}
],
"_type": "V4/Authentication/AuthenticationMessagesResponse"
}