3DS1 - Authentification en timeout
Pour tester ce scénario, utilisez un des numéros de carte ci-dessous :
Carte | Date de validité | Marque |
---|---|---|
4970100000000022 | Au choix | VISA |
5970100300000026 | Au choix | MASTERCARD |
378283000000002 | Au choix | AMEX |
Au moment de la saisie du code d'authentification, ne rien saisir et attendre 10 minutes que la session de paiement expire.
Cinématique des échanges
1. Appel initial au service PCI/Charge/Authenticate avec une carte enrôlée 3DS1.
{ "amount": "9990", "currency": "EUR", "transactionCategory": "PAYMENT", "productType": "GOODS_OR_SERVICE_PURCHASE", "merchant": { "mid": "9876357" }, "paymentForm": { "expiryMonth": "09", "expiryYear": "22", "networkPreference": "VISA", "pan": "4970100000000022" }, "device": { "acceptHeader": "text/html", "colorDepth": "32", "deviceType": "BROWSER", "ip": "69.89.31.226", "javaEnabled": true, "language": "FR", "screenHeight": "768", "screenWidth": "1258", "timeZoneOffset": "-120", "userAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101" }, "protocolRequest": { "name": "THREEDS", "version": "1", "challengePreference": "NO_PREFERENCE" } }
2. Retour avec une instruction CHALLENGE de redirection vers l’ACS avec un PaReq (iFrame visible).
{ "webService":"PCI/Charge/Authenticate", "version":"V4", "applicationVersion":"5.23.0", "serverDate":"2021-05-05T06:44:46+00:00", "ticket":"80a03bfdad1e4919832102a6c8d02705", "applicationProvider":"", "metadata":null, "status":"SUCCESS", "mode":"TEST", "serverUrl":"https://static.payzen.eu", "_type":"V4/WebService/Response", "answer":{ "id":"a30802af-24e3-4071-8e07-331bfbc40cfa", "protocol":{ "name":"THREEDS", "version":"1.0.2", "network":"VISA", "challengePreference":"NO_PREFERENCE", "simulation":true, "_type":"V4/Charge/Authenticate/Protocol" }, "value":{ "instructionType":"FORM", "name":"CHALLENGE", "timeout":600, "target":{ "element":"IFRAME", "visible":true, "width":390, "height":467, "_type":"V4/Charge/Authenticate/InstructionTarget" }, "http":{ "method":"POST", "url":"https://acs.sg.com/1.0.2/v1/interactive_authenticate", "body":{ "MD":"H4sIAAAAAAAAAEVRyb...", "PaReq":"eJxVUtty2jAQ/RW...", "TermUrl":"https://pass.sample-acs.net/public/v1/3dsv1/notify/.../VISA" }, "_type":"V4/Charge/Authenticate/HttpRequest" }, "_type":"V4/Charge/Authenticate/AuthenticationInstruction" },"_type":"V4/AuthenticationResponseData" } }
3. Redirection vers l’ACS dans l’iFrame, authentification du porteur.
Les caractéristiques de l'Iframe sont données dans l'objet answer.value.target . Le formulaire à afficher dans l'Iframe est décrit dans l'objet answer.value.http .
4. Retour via le navigateur avec un résultat d’instruction TIMEOUT.
{ "eventName":"LYRA_AUTH_INSTRUCTION_RESULT", "value":{ "name":"CHALLENGE", "value":"TIMEOUT", "protocol":{ "name":"THREEDS", "version":"1.0.2", "network":"VISA", "challengePreference":"NO_PREFERENCE", "simulation":true } } }
5. Nouvel appel au service PCI/Charge/Authenticate en transmettant ce résultat.
{ "amount": "9990", "currency": "EUR", "transactionCategory": "PAYMENT", "productType": "GOODS_OR_SERVICE_PURCHASE", "merchant": { "mid": "9876357" }, "paymentForm": { "expiryMonth": "09", "expiryYear": "22", "networkPreference": "VISA", "pan": "4970100000000022" }, "device": { "acceptHeader": "text/html", "colorDepth": "32", "deviceType": "BROWSER", "ip": "69.89.31.226", "javaEnabled": true, "language": "FR", "screenHeight": "768", "screenWidth": "1258", "timeZoneOffset": "-120", "userAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101" }, "protocolRequest": { "name": "THREEDS", "version": "1.0.2", "challengePreference": "NO_PREFERENCE" }, "id":"a30802af-24e3-4071-8e07-331bfbc40cfa", "instructionResult": { "name" : "CHALLENGE", "value":"TIMEOUT", "protocol":{ "name":"THREEDS", "version":"1", "network":"VISA", "challengePreference":"NO_PREFERENCE", "simulation":true } } }
6. Retour du serveur de la plateforme de paiement avec le résultat final d’authentification.
{ "webService":"PCI/Charge/Authenticate", "version":"V4", "applicationVersion":"5.23.0", "serverDate":"2021-05-05T06:54:47+00:00", "ticket":"80a03bfdad1e4919832102a6c8d02705", "applicationProvider":"", "metadata":null, "status":"SUCCESS", "mode":"TEST", "serverUrl":"https://static.payzen.eu", "_type":"V4/WebService/Response", "answer":{ "id":"a30802af-24e3-4071-8e07-331bfbc40cfa", "protocol":{ "name":"THREEDS", "version":"1.0.2", "network":"VISA", "challengePreference":"NO_PREFERENCE", "simulation":true, "_type":"V4/Charge/Authenticate/Protocol" }, "value":{ "authenticationType":"CHALLENGE", "status":"FAILED", "reason":{ "code":"AUTHENTICATION_ERROR", "message":"Challenge timeout", "_type":"V4/Charge/Authenticate/AuthenticationResultReason" }, "_type":"V4/Charge/Authenticate/AuthenticationResult" }, "_type":"V4/AuthenticationResponseData" } }