3DS2 - Authentification Challenge en timeout
Pour tester ce scénario, utilisez un des numéros de carte ci-dessous :
Carte | Date de validité | Marque |
---|---|---|
4970110000000021 | Au choix | VISA |
5100010000000049 | Au choix | MASTERCARD |
375900000000016 | 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 au Web Service V4.1/PCI/Charge/CreatePayment avec une carte enrôlée 3DS2.
{ "amount": "990", "currency": "EUR", "paymentForms": [ { "pan": "4970110000000021", "expiryMonth": 11, "expiryYear": 23, "securityCode": "123", "paymentMethodType": "CARD" } ], "customer": { "email": "sample@example.com" } }
Réponse
{
"webService":"PCI/Charge/CreatePayment",
"version":"V4",
(...)
"answer":{
"operationSessionId":"30641640cba14eab8e6766094fd201da",
"operationUrl":"https://api.lyra.com/api-payment/V4/Charge/Public/Authenticate/Payment/Session/30641640cba14eab8e6766094fd201da;JSESSIONID=7A4beEA2d5fdbFeA7389F3B91a7bDBaBc8DA9df5.default-hostname",
"_type":"V4/PCI/Authentication/AuthenticationSessionResponse"
}
}
Dans l'exemple :
answer.operationUrl
: "https://api.lyra.com/api-payment/V4/Charge/Public/Authenticate/Payment/Session/30641640cba14eab8e6766094fd201da;JSESSIONID=7A4beEA2d5fdbFeA7389F3B91a7bDBaBc8DA9df5.default-hostname"Transmettez le champ
operationUrl
à la méthode d'authentificationkr-authenticate.js
de la librairie JS (plus d'infos : undefined).
2. Retour du serveur de la plateforme de paiement avec le résultat du paiement (paiement refusé).
{ "webService":"PCI/Charge/CreatePayment", "version":"V4", "applicationVersion":"5.23.0", "serverDate":"2023-05-05T09:33:32+00:00", "ticket":"3b68064f80f346919828dee761bd22b5", "applicationProvider":"", "metadata":null, "status":"SUCCESS", "mode":"TEST", "serverUrl":"https://static.lyra.com", "_type":"V4/WebService/Response", "answer":{ "shopId": "12345678", "orderCycle": "CLOSED", "orderStatus": "UNPAID", "serverDate": "2023-05-24T14:59:00+00:00", "orderDetails": { "orderTotalAmount": 990, "orderEffectiveAmount": 990, "orderCurrency": "EUR", "mode": "TEST", "orderId": null, "metadata": null, "_type": "V4/OrderDetails" }, "customer": { "billingDetails": { "address": null, "category": null, "cellPhoneNumber": null, "city": null, "country": null, "district": null, "firstName": null, "identityCode": null, "identityType": 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": "54.86.50.139", "browserUserAgent": "PostmanRuntime/7.32.2", "_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": "bb545a28a42645ce9e8694576c5e003a", "amount": 990, "currency": "EUR", "paymentMethodType": "CARD", "paymentMethodToken": null, "status": "UNPAID", "detailedStatus": "REFUSED", "operationType": "DEBIT", "effectiveStrongAuthentication": "DISABLED", "creationDate": "2023-05-24T14:48:42+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": 990, "effectiveCurrency": "EUR", "creationContext": "CHARGE", "cardDetails": { "paymentSource": "EC", "manualValidation": "NO", "expectedCaptureDate": "2023-05-24T14:48:42+00:00", "effectiveBrand": "VISA", "pan": "497011XXXXXX1003", "expiryMonth": 11, "expiryYear": 2023, "country": "FR", "issuerCode": 17807, "issuerName": "Banque Populaire Occitane", "effectiveProductCode": null, "legacyTransId": "914178", "legacyTransDate": "2023-05-24T14:48:42+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": "c758e4ad-deb4-4547-89dd-30a48f305f22", "operationSessionId": "16f664d226b04cb49cfd43da1cfb62cf", "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", "requestorName": "SITE1 / SITE 2 /SITE 3", "_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, "initialIssuerTransactionIdentifier": null, "productCategory": "DEBIT", "nature": "CONSUMER_CARD", "_type": "V4/PaymentMethod/Details/CardDetails" }, "paymentMethodDetails": { "id": "497011XXXXXX1003", "paymentSource": "EC", "manualValidation": "NO", "expectedCaptureDate": "2023-05-24T14:48:42+00:00", "effectiveBrand": "VISA", "expiryMonth": 11, "expiryYear": 2023, "country": "FR", "issuerCode": 17807, "issuerName": "Banque Populaire Occitane", "effectiveProductCode": null, "legacyTransId": "914178", "legacyTransDate": "2023-05-24T14:48:42+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" }, "authenticationResponse": { "id": "c758e4ad-deb4-4547-89dd-30a48f305f22", "operationSessionId": "16f664d226b04cb49cfd43da1cfb62cf", "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", "requestorName": "SITE1 / SITE 2 /SITE 3", "_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, "initialIssuerTransactionIdentifier": null, "_type": "V4/PaymentMethod/Details/PaymentMethodDetails" }, "acquirerDetails": null, "fraudManagement": { "riskControl": [ { "name": "SUSPECT_COUNTRY", "result": "OK", "_type": "V4/PaymentMethod/Details/Risk/RiskControl" }, { "name": "SUSPECT_IP_COUNTRY", "result": "OK", "_type": "V4/PaymentMethod/Details/Risk/RiskControl" }, { "name": "IP_FRAUD", "result": "OK", "_type": "V4/PaymentMethod/Details/Risk/RiskControl" } ], "riskAnalysis": [], "_type": "V4/PaymentMethod/Details/FraudManagement" }, "subscriptionDetails": { "subscriptionId": null, "_type": "V4/PaymentMethod/Details/SubscriptionDetails" }, "parentTransactionUuid": null, "mid": "1234567", "sequenceNumber": 1, "taxAmount": null, "preTaxAmount": null, "taxRate": null, "externalTransactionId": null, "nsu": null, "tid": "001", "acquirerNetwork": "CB", "taxRefundAmount": null, "userInfo": null, "paymentMethodTokenPreviouslyRegistered": null, "occurrenceType": "UNITAIRE", "archivalReferenceId": "L14491417801", "useCase": null, "wallet": null, "_type": "V4/TransactionDetails" }, "_type": "V4/PaymentTransaction" } ], "subMerchantDetails": null, "_type": "V4/Payment" }