3DS2 - Challenge authentication, with the 3DS Method
To test this scenario, use one of the card numbers below:
CARD | Expiry date | Label |
---|---|---|
4970110000001003 | To be chosen | VISA |
5100010000000106 | To be chosen | MASTERCARD |
375900000010015 | To be chosen | AMEX |
Exchange flow
1. Call the V4.1/PCI/Charge/CreatePayment Web Service with a 3DS2 enrolled card.
{ "amount": "990", "currency": "EUR", "paymentForms": [ { "pan": "4970110000001003", "expiryMonth": 11, "expiryYear": 23, "securityCode": "123", "paymentMethodType": "CARD" } ], "customer": { "email": "sample@example.com" } }
Response
{
"webService":"PCI/Charge/CreatePayment",
"version":"V4",
(...)
"answer":{
"operationSessionId":"30641640cba14eab8e6766094fd201da",
"operationUrl":"https://api-sogecommerce.societegenerale.eu/api-payment/V4/Charge/Public/Authenticate/Payment/Session/30641640cba14eab8e6766094fd201da;JSESSIONID=7A4beEA2d5fdbFeA7389F3B91a7bDBaBc8DA9df5.default-hostname",
"_type":"V4/PCI/Authentication/AuthenticationSessionResponse"
}
}
In the example :
answer.operationUrl
: "https://api-sogecommerce.societegenerale.eu/api-payment/V4/Charge/Public/Authenticate/Payment/Session/30641640cba14eab8e6766094fd201da;JSESSIONID=7A4beEA2d5fdbFeA7389F3B91a7bDBaBc8DA9df5.default-hostname"Pass the
operationUrl
field to the JS library'skr-authenticate.js
authentication method (more info: undefined).
2. Redirection to the cardholder's bank's ACS.
- The JS library performs automatically all the necessary actions, without any specific development for the merchant.
3. Payment platform server returns with payment result (3DS Method).
{ "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-sogecommerce.societegenerale.eu", "_type":"V4/WebService/Response", "answer":{ "shopId": "12345678", "orderCycle": "CLOSED", "orderStatus": "PAID", "serverDate": "2023-05-24T13:47:48+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": "714182141ce74c2894d679c4fcc48e88", "amount": 990, "currency": "EUR", "paymentMethodType": "CARD", "paymentMethodToken": null, "status": "PAID", "detailedStatus": "AUTHORISED", "operationType": "DEBIT", "effectiveStrongAuthentication": "ENABLED", "creationDate": "2023-05-24T14:04:24+00:00", "errorCode": null, "errorMessage": null, "detailedErrorCode": null, "detailedErrorMessage": null, "metadata": null, "transactionDetails": { "liabilityShift": "YES", "effectiveAmount": 990, "effectiveCurrency": "EUR", "creationContext": "CHARGE", "cardDetails": { "paymentSource": "EC", "manualValidation": "NO", "expectedCaptureDate": "2023-05-24T14:04:24+00:00", "effectiveBrand": "VISA", "pan": "497011XXXXXX1003", "expiryMonth": 11, "expiryYear": 2023, "country": "FR", "issuerCode": 17807, "issuerName": "Banque Populaire Occitane", "effectiveProductCode": null, "legacyTransId": "947909", "legacyTransDate": "2023-05-24T14:04:24+00:00", "paymentMethodSource": "NEW", "authorizationResponse": { "amount": 990, "currency": "EUR", "authorizationDate": "2023-05-24T14:04:24+00:00", "authorizationNumber": "3fd694", "authorizationResult": "0", "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": "502d7f43-8e78-496f-9c1f-32e723012531", "operationSessionId": "e2394a81386842e093e2c0e855613f34", "protocol": { "name": "THREEDS", "version": "2.1.0", "network": "VISA", "challengePreference": "NO_PREFERENCE", "simulation": true, "_type": "V4/Charge/Authenticate/Protocol" }, "value": { "authenticationType": "CHALLENGE", "authenticationId": { "authenticationIdType": "dsTransId", "value": "b08a386d-f4c3-4dea-910d-1b9b1d5c22ea", "_type": "V4/Charge/Authenticate/AuthenticationId" }, "authenticationValue": { "authenticationValueType": "CAVV", "value": "U0DwM4zStGXdP12ZXDyv15jD8DU=", "_type": "V4/Charge/Authenticate/AuthenticationValue" }, "status": "SUCCESS", "commerceIndicator": "05", "extension": { "authenticationType": "THREEDS_V2", "threeDSServerTransID": "502d7f43-8e78-496f-9c1f-32e723012531", "dsTransID": "b08a386d-f4c3-4dea-910d-1b9b1d5c22ea", "acsTransID": "7b530c67-3bcc-4056-8d7f-072e28e9736f", "requestorName": "SITE1 / SITE 2 /SITE 3", "_type": "V4/Charge/Authenticate/AuthenticationResultExtensionThreedsV2" }, "reason": { "_type": "V4/Charge/Authenticate/AuthenticationResultReason" }, "_type": "V4/Charge/Authenticate/AuthenticationResult" },pci/v2/createpayment/3ds2/challenge_fingerprint.html "_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": "5234804314636204", "productCategory": "DEBIT", "nature": "CONSUMER_CARD", "_type": "V4/PaymentMethod/Details/CardDetails" }, "paymentMethodDetails": { "id": "497011XXXXXX1003", "paymentSource": "EC", "manualValidation": "NO", "expectedCaptureDate": "2023-05-24T14:04:24+00:00", "effectiveBrand": "VISA", "expiryMonth": 11, "expiryYear": 2023, "country": "FR", "issuerCode": 17807, "issuerName": "Banque Populaire Occitane", "effectiveProductCode": null, "legacyTransId": "947909", "legacyTransDate": "2023-05-24T14:04:24+00:00", "paymentMethodSource": "NEW", "authorizationResponse": { "amount": 990, "currency": "EUR", "authorizationDate": "2023-05-24T14:04:24+00:00", "authorizationNumber": "3fd694", "authorizationResult": "0", "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": "502d7f43-8e78-496f-9c1f-32e723012531", "operationSessionId": "e2394a81386842e093e2c0e855613f34", "protocol": { "name": "THREEDS", "version": "2.1.0", "network": "VISA", "challengePreference": "NO_PREFERENCE", "simulation": true, "_type": "V4/Charge/Authenticate/Protocol" }, "value": { "authenticationType": "CHALLENGE", "authenticationId": { "authenticationIdType": "dsTransId", "value": "b08a386d-f4c3-4dea-910d-1b9b1d5c22ea", "_type": "V4/Charge/Authenticate/AuthenticationId" }, "authenticationValue": { "authenticationValueType": "CAVV", "value": "U0DwM4zStGXdP12ZXDyv15jD8DU=", "_type": "V4/Charge/Authenticate/AuthenticationValue" }, "status": "SUCCESS", "commerceIndicator": "05", "extension": { "authenticationType": "THREEDS_V2", "threeDSServerTransID": "502d7f43-8e78-496f-9c1f-32e723012531", "dsTransID": "b08a386d-f4c3-4dea-910d-1b9b1d5c22ea", "acsTransID": "7b530c67-3bcc-4056-8d7f-072e28e9736f", "requestorName": "SITE1 / SITE 2 /SITE 3", "_type": "V4/Charge/Authenticate/AuthenticationResultExtensionThreedsV2" }, "reason": { "_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": "5234804314636204", "_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": "L14494790901", "useCase": null, "wallet": null, "_type": "V4/TransactionDetails" }, "_type": "V4/PaymentTransaction" } ], "subMerchantDetails": null, "_type": "V4/Payment" }