3DS2 - Authentication challenge in timeout (deprecated)
To test this scenario, use one of the card numbers below:
CARD | Expiry date | Label |
---|---|---|
4970110000000021 | To be chosen | VISA |
5100010000000049 | To be chosen | MASTERCARD |
375900000000016 | To be chosen | AMEX |
When entering the authentication code, do not enter anything and wait for 10 minutes for the payment session to expire.
Exchange flow
1. Initial call to the PCI/Charge/CreatePayment service with a card enrolled in 3DS2.
{ "amount": "9990", "currency": "EUR", "paymentForms": [ { "paymentMethodType": "CARD", "pan": "4970110000000021", "expiryMonth": "11", "expiryYear": "27", "securityCode": "123" } ], "device": { "acceptHeader":"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.9", "colorDepth":"24", "deviceType":"BROWSER", "ip":"69.89.31.226", "javaEnabled":false, "language":"fr-FR", "screenHeight":"720", "screenWidth":"1280", "timeZoneOffset":"-60", "userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36" }, "customer": { "email": "sample@example.com" } }
2. A return with a CHALLENGE instruction of redirection to the ACS with a CReq (visible iFrame).
{ "webService":"PCI/Charge/CreatePayment", "version":"V4", "applicationVersion":"5.29.0", "serverDate":"2021-12-01T12:57:56+00:00", "ticket":"3b142f83a42f463b9e8561b32d571ed1", "applicationProvider":"", "metadata":null, "status":"SUCCESS", "mode":"TEST", "serverUrl":"", "_type":"V4/WebService/Response", "answer":{ "id":"6e885416-91a4-47dd-ab34-1ccc15e61131", "operationSessionId":"b4d3125398c4496481450dfcc5812987", "protocol":{ "name":"THREEDS", "version":"2.1.0", "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":500, "height":600, "_type":"V4/Charge/Authenticate/InstructionTarget", "showUrl":true, "fullscreen":false }, "http":{ "method":"POST", "url":"https://acs-test.com/acs/v2/creq", "body":{ "creq":"eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjZlODg1NDE2LTkxYTQtNDdkZC1hYjM0LTFjY2MxNWU2MTEzMSIsIm1lc3NhZ2VFeHRlbnNpb24iOlt7ImNyaXRpY2FsaXR5SW5kaWNhdG9yIjpmYWxzZSwiZGF0YSI6eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjZlODg1NDE2LTkxYTQtNDdkZC1hYjM0LTFjY2MxNWU2MTEzMSIsIm1lc3NhZ2VUeXBlIjoiQVJlcSIsIm1lc3NhZ2VWZXJzaW9uIjoiMi4xLjAiLCJkZXZpY2VDaGFubmVsIjoiMDIiLCJ0aHJlZURTU2VydmVyUmVmTnVtYmVyIjoiM0RTX0xPQV9TRVJfTFlORV8wMjAxMDBfMDAzNjkiLCJ0aHJlZURTU2VydmVyT3BlcmF0b3JJRCI6IjEwMDY5NzMyIiwidGhyZWVEU0NvbXBJbmQiOiJVIiwidGhyZWVEU1JlcXVlc3RvckF1dGhlbnRpY2F0aW9uSW5kIjoiMDEiLCJ0aHJlZURTUmVxdWVzdG9yQ2hhbGxlbmdlSW5kIjoiMDEiLCJ0aHJlZURTUmVxdWVzdG9ySUQiOiIxMDA3MTUyOSoxOTk5ODg4IiwidGhyZWVEU1JlcXVlc3Rvck5hbWUiOiJERU1PIFN0b3JlIiwidGhyZWVEU1JlcXVlc3RvclVSTCI6Imh0dHA6Ly9kZW1vLmx5cmEtbmV0d29yay5jb20iLCJ0aHJlZURTU2VydmVyVVJMIjoiaHR0cDovL2xvY2FsaG9zdDo4MDgwL3Byb3RlY3RlZC92MS8zZHN2Mi9ub3RpZnkvcnJlcT9uZXR3b3JrPVZJU0EmbWVzc2FnZVZlcnNpb249Mi4xLjAmZGV2aWNlQ2hhbm5lbD1CUk9XU0VSJmNoYWxsZW5nZUluZD1OT19QUkVGRVJFTkNFJmF1dGhlbnRpY2F0ZUlkPTZlODg1NDE2LTkxYTQtNDdkZC1hYjM0LTFjY2MxNWU2MTEzMSIsImFjcXVpcmVyQklOIjoiNDk3NTY2IiwiYWNxdWlyZXJNZXJjaGFudElEIjoiMTk5OTg4OCIsImFkZHJNYXRjaCI6IlkiLCJicm93c2VyQWNjZXB0SGVhZGVyIjoidGV4dC9odG1sLGFwcGxpY2F0aW9uL3hodG1sK3htbCxhcHBsaWNhdGlvbi94bWw7cT0wLjksaW1hZ2UvYXZpZixpbWFnZS93ZWJwLGltYWdlL2FwbmcsKi8qO3E9MC44LGFwcGxpY2F0aW9uL3NpZ25lZC1leGNoYW5nZTt2PWIzO3E9MC45IiwiYnJvd3NlcklQIjoiMTg1LjI0NC43My4yIiwiYnJvd3NlckphdmFFbmFibGVkIjp0cnVlLCJicm93c2VyTGFuZ3VhZ2UiOiJmci1GUiIsImJyb3dzZXJDb2xvckRlcHRoIjoiMjQiLCJicm93c2VyU2NyZWVuSGVpZ2h0IjoiNzIwIiwiYnJvd3NlclNjcmVlbldpZHRoIjoiMTI4MCIsImJyb3dzZXJUWiI6Ii02MCIsImJyb3dzZXJVc2VyQWdlbnQiOiJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvOTYuMC40NjY0LjQ1IFNhZmFyaS81MzcuMzYiLCJjYXJkRXhwaXJ5RGF0ZSI6IjIzMTEiLCJhY2N0SW5mbyI6eyJzaGlwTmFtZUluZGljYXRvciI6IjAxIn0sImFjY3ROdW1iZXIiOiI0OTcwMTEwMDAwMDAwMDIxIiwiZW1haWwiOiJzYW1wbGVAZXhhbXBsZS5jb20iLCJtY2MiOiI0MjI1IiwibWVyY2hhbnRDb3VudHJ5Q29kZSI6IjI1MCIsIm1lcmNoYW50TmFtZSI6IkRFTU8gU3RvcmUiLCJtZXNzYWdlQ2F0ZWdvcnkiOiIwMSIsIm5vdGlmaWNhdGlvblVSTCI6Imh0dHBzOi8vdGxzLXBhc3MucGF5emVuLmV1L3B1YmxpYy92MS8zZHN2Mi9ub3RpZnkvY3Jlcy82ZTg4NTQxNi05MWE0LTQ3ZGQtYWIzNC0xY2NjMTVlNjExMzEvVklTQSIsInB1cmNoYXNlQW1vdW50IjoiOTk5MCIsInB1cmNoYXNlQ3VycmVuY3kiOiI5NzgiLCJwdXJjaGFzZUV4cG9uZW50IjoiMiIsInB1cmNoYXNlRGF0ZSI6IjIwMjExMjAxMTI1NzU1IiwidHJhbnNUeXBlIjoiMDEifSwiaWQiOiJTSU1VTEFUSU9OLUFSRVEiLCJuYW1lIjoiU0lNVUxBVElPTi1BUkVRIn1dLCJtZXNzYWdlVHlwZSI6IkNSZXEiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIiwiYWNzVHJhbnNJRCI6IjJhYzY2NjhhLWYyYzYtNGE5NC05NDMzLWMxZmE1MmQ2YmQxNyIsImNoYWxsZW5nZVdpbmRvd1NpemUiOiIwMyJ9", "threeDSSessionData":"H4sIAAAAAAAAADVQ25KqMBD8ot0CRNRHbsFEAgIJtxcLAYUAK6IrkK8_WOt56Jqa7pnq6SlnxNIYCVmU9okEhDSACmw1jYrOBQcyd2Z5jIU-DnX4gD_-OtcXvfn0HXik83seEcyoBH-E73JGYxI73JOmKouE2q3RJtbREC97C7gP8LzUx8LxN1fskZgGUw5_tByyPofN-hiLWuDTFNAmdD0hzGH91v0_naWta1xFxzAlmzRTQrynYxRNqotVwrBgE8ASCU9ORCVMTI7DsbbBWJ_bsXYXhE1LvA9XfDhcy5PNtD-f7r-PutyJdrAe62zJA9mtpiYgdH7nDuX3HzBJuGtgyTHwyomF78vNOrCplGAoiDw3Z-f1XPs2uXt951IH3lEKy73M17aBd684JTUCV7bq_OuZCXzUFdoNKoFZV91U0nvJV-v7NOhkNp1a5XK5d5nZOiDVV5YTF5WEoOGjp3JYa2a3-ZqbZr_aqquzPbIiz4JtWiB7NF8lsf1Yb8LjcLK4GBkXyz_tlezor41f3wWWePRq5idVNI2lSwCkEqB37RBo1rMstb7WUXDAzEXzb3jT8Bk2VJa3nsm906Ogo73jnCo0vARDFAlJoN60V3MK88S-Qqu_FsLggaBVxSGpjuFccbt4Wtb-tVPMpjp5fW5uNljLnq-vdt9oKjH6Nt8IXTG4L7BVh-IgKpL6D24zRWOiAgAA" }, "_type":"V4/Charge/Authenticate/HttpRequest" }, "_type":"V4/Charge/Authenticate/AuthenticationInstruction" }, "_type":"V4/AuthenticationResponseData" } }
3. Redirection to the ACS in the iFrame, cardholder authentication.
The iFrame characteristics are provided in the answer.value.target object.
The form to be displayed in the iFrame is described in the answer.value.http object.
4. Return via the browser with a TIMEOUT instruction result.
{ "eventName":"LYRA_AUTH_INSTRUCTION_RESULT", "value":{ "name":"CHALLENGE", "value":"TIMEOUT", "protocol":{ "name":"THREEDS", "version":"2.1.0", "network":"VISA", "challengePreference":"NO_PREFERENCE", "simulation":true } } }
5. New call to the PCI/Charge/CreatePayment service passing this result and the session ID (operationSessionId).
{ "operationSessionId": "b4d3125398c4496481450dfcc5812987", "instructionResult": { "name" : "CHALLENGE", "protocol" : { "name" : "THREEDS", "network": "VISA", "version" : "2.1.0", "challengePreference": "NO_PREFERENCE", "simulation": 1 }, "value": "TIMEOUT" } }
6. Answer of the payment gateway server with the final authentication result.
{ "webService":"PCI/Charge/CreatePayment", "version":"V4", "applicationVersion":"5.29.0", "status":"SUCCESS", "answer":{ "shopId":"12345678", "orderCycle":"CLOSED", "orderStatus":"UNPAID", "serverDate":"2021-12-01T14:31:51+00:00", "orderDetails":{ "orderTotalAmount":9990, "orderEffectiveAmount":9990, "orderCurrency":"EUR", "mode":"TEST", "orderId":null, "_type":"V4/OrderDetails" }, "customer":{ "billingDetails":{ "address":null, "category":null, "cellPhoneNumber":null, "city":null, "country":null, "district":null, "firstName":null, "identityCode":null, "language":"FR", "lastName":null, "phoneNumber":null, "state":null, "streetNumber":null, "title":null, "zipCode":null, "legalName":null, "_type":"V4/Customer/BillingDetails" }, "email":"sample@example.com", "reference":null, "shippingDetails":{ "address":null, "address2":null, "category":null, "city":null, "country":null, "deliveryCompanyName":null, "district":null, "firstName":null, "identityCode":null, "lastName":null, "legalName":null, "phoneNumber":null, "shippingMethod":null, "shippingSpeed":null, "state":null, "streetNumber":null, "zipCode":null, "_type":"V4/Customer/ShippingDetails" }, "extraDetails":{ "browserAccept":null, "fingerPrintId":null, "ipAddress":"185.244.73.2", "browserUserAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36", "_type":"V4/Customer/ExtraDetails" }, "shoppingCart":{ "insuranceAmount":null, "shippingAmount":null, "taxAmount":null, "cartItemInfo":null, "_type":"V4/Customer/ShoppingCart" }, "_type":"V4/Customer/Customer" }, "transactions":[ { "shopId":"12345678", "uuid":"9669e150ad734d9b9eb2461fc9eeb827", "amount":9990, "currency":"EUR", "paymentMethodType":"CARD", "paymentMethodToken":null, "status":"UNPAID", "detailedStatus":"REFUSED", "operationType":"DEBIT", "effectiveStrongAuthentication":"DISABLED", "creationDate":"2021-12-01T14:31:50+00:00", "errorCode":"PSP_539", "errorMessage":"3D Secure refusal for the transaction", "detailedErrorCode":"39", "detailedErrorMessage":"3D Secure refusal for the transaction.", "metadata":null, "transactionDetails":{ "liabilityShift":null, "effectiveAmount":9990, "effectiveCurrency":"EUR", "creationContext":"CHARGE", "cardDetails":{ "paymentSource":"EC", "manualValidation":"NO", "expectedCaptureDate":"2021-12-01T14:21:48+00:00", "effectiveBrand":"VISA", "pan":"497011XXXXXX0021", "expiryMonth":11, "expiryYear":2027, "country":"FR", "issuerCode":17807, "issuerName":"Banque Populaire Occitane", "effectiveProductCode":null, "legacyTransId":"934315", "legacyTransDate":"2021-12-01T14:31:50+00:00", "paymentMethodSource":"NEW", "authorizationResponse":{ "amount":null, "currency":null, "authorizationDate":null, "authorizationNumber":null, "authorizationResult":null, "authorizationMode":"FULL", "_type":"V4/PaymentMethod/Details/Cards/CardAuthorizationResponse" }, "captureResponse":{ "refundAmount":null, "refundCurrency":null, "captureDate":null, "captureFileNumber":null, "effectiveRefundAmount":null, "effectiveRefundCurrency":null, "_type":"V4/PaymentMethod/Details/Cards/CardCaptureResponse" }, "threeDSResponse":{ "authenticationResultData":{ "transactionCondition":null, "enrolled":null, "status":null, "eci":null, "xid":null, "cavvAlgorithm":null, "cavv":null, "signValid":null, "brand":null, "_type":"V4/PaymentMethod/Details/Cards/CardAuthenticationResponse" }, "_type":"V4/PaymentMethod/Details/Cards/ThreeDSResponse" }, "authenticationResponse":{ "id":"9bd6eddf-df30-4d1f-ae49-03de4417fd2e", "operationSessionId":"b4d3125398c4496481450dfcc5812987", "protocol":{ "name":"THREEDS", "version":"2.1.0", "network":"VISA", "challengePreference":"NO_PREFERENCE", "simulation":true, "_type":"V4/Charge/Authenticate/Protocol" }, "value":{ "authenticationType":"CHALLENGE", "status":"FAILED", "extension":{ "authenticationType":"THREEDS_V2", "_type":"V4/Charge/Authenticate/AuthenticationResultExtensionThreedsV2" }, "reason":{ "code":"AUTHENTICATION_ERROR", "message":"Challenge timeout", "_type":"V4/Charge/Authenticate/AuthenticationResultReason" }, "_type":"V4/Charge/Authenticate/AuthenticationResult" }, "_type":"V4/AuthenticationResponseData" }, "installmentNumber":null, "installmentCode":null, "markAuthorizationResponse":{ "amount":null, "currency":null, "authorizationDate":null, "authorizationNumber":null, "authorizationResult":null, "_type":"V4/PaymentMethod/Details/Cards/MarkAuthorizationResponse" }, "cardHolderName":null, "identityDocumentNumber":null, "identityDocumentType":null, "_type":"V4/PaymentMethod/Details/CardDetails" }, "fraudManagement":{ "riskControl":[], "riskAnalysis":[], "_type":"V4/PaymentMethod/Details/FraudManagement" }, "subscriptionDetails":{ "subscriptionId":null, "_type":"V4/PaymentMethod/Details/SubscriptionDetails" }, "parentTransactionUuid":null, "mid":"9999999", "sequenceNumber":1, "taxAmount":null, "preTaxAmount":null, "taxRate":null, "externalTransactionId":null, "nsu":null, "tid":"001", "acquirerNetwork":"CB", "taxRefundAmount":null, "userInfo":"API REST", "paymentMethodTokenPreviouslyRegistered":null, "occurrenceType":"UNITAIRE", "_type":"V4/TransactionDetails" }, "_type":"V4/PaymentTransaction" } ], "subMerchantDetails":null, "_type":"V4/Payment" }, "ticket":"ec272fcf42c542e08334edf964a5510c", "serverDate":"2021-12-01T14:31:51+00:00", "applicationProvider":"", "metadata":null, "mode":"TEST", "serverUrl":"", "_type":"V4/WebService/Response" }