Introduction
When sending a payment request to an issuer, Nuvei (as the acquirer) can request a 3DS exemption or insist on performing a 3DS challenge, based on the type of transaction, risk analysis, or the merchant’s preference.
3DS Response
The response returned from the issuer includes a threeD
block containing the 3DS authentication result and, if applicable, the relevant 3DS challenge or exemption with its reason.
Example /payments/{payment-id}/challenge
Response (with Liability Shift)
{ "paymentId": "b8c0cbd8edfd48ad94b3c32f79cc8dc4", "transactionId": "711000000028034738", "amount": 100, "currency": "USD", "transactionType": "Sale", "result": { "status": "approved" }, "authCode": "111818", "partialApproval": { "requestedAmount": 100, "requestedCurrency": "USD" }, "paymentOption": { "card": { "cardHolderName": "John Smith", "maskedCardNumber": "5****6034", "bin": "400002", "last4Digits": "6034", "expirationMonth": "10", "expirationYear": "26", "acquirerId": "19", "cardType": "Credit", "cardBrand": "MASTERCARD", "paymentTokenId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "merchantReference": "12391284AF87C7D2", "threeD": { "fingerprintUrl": "https://3dsn.sandbox.safecharge.com/ThreeDSMethod/api/ThreeDSMethod/threeDSMethodURL/", "fingerprintPayload": "eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjBmZGUwZDVhLWYyZGUtNDFjOC05ZTQ5LWFjNmYzNmFjOTRhNyIsInRocmVlRFNNZXRob2ROb3RpZmljYXRpb25VUkwiOiJ3d3cuZmluZ2VyUHJpbnQ3ODM4NjQuY29tIn0", "acsUrl": "https://3dsn.sandbox.safecharge.com/ThreeDSACSEmulatorChallenge/api/ThreeDSACSChallengeController/ChallengePage?eyJub3RpZmljYXRpb25VUkwiOiJ3d3cuY2hhbGxlbmdlTm90aWZpY2F0aW9uNzEyNzQwLmNvbSIsInRocmVlRFNTZXJ2ZXJUcmFuc0lEIjoiMGZkZTBkNWEtZjJkZS00MWM4LTllNDktYWM2ZjM2YWM5NGE3IiwiYWNzVHJhbnNJRCI6IjQzYjFjNTIwLWUwMDUtNDU4YS1iMDNlLTgxMjQ1YWEwYjRlNSIsImRzVHJhbnNJRCI6ImIwMDliYTk3LWNhZmYtNGM1YS1hZjQ1LTI4MDQzMDgyYWM4YSIsImRhdGEiOm51bGwsIk1lc3NhZ2VWZXJzaW9uIjoiMi4xLjAifQ==", "cReq": "eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjBmZGUwZDVhLWYyZGUtNDFjOC05ZTQ5LWFjNmYzNmFjOTRhNyIsImFjc1RyYW5zSUQiOiI0M2IxYzUyMC1lMDA1LTQ1OGEtYjAzZS04MTI0NWFhMGI0ZTUiLCJtZXNzYWdlVHlwZSI6IkNSZXMiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIiwidHJhbnNTdGF0dXMiOiJZIiwibWVzc2FnZUV4dGVuc2lvbiI6W3sibmFtZSI6Im1zZ2V4dG5hbWUiLCJpZCI6IjUwMTM0MTU5MkJfMDAwMV80NTY4IiwiY3JpdGljYWxpdHlJbmRpY2F0b3IiOmZhbHNlLCJkYXRhIjp7InZhbHVlT25lIjoibWVzc2FnZWV4dGVuc2lvbmRhdGEiLCJ2YWx1ZVR3byI6Im1vcmVtZXNzYWdlZXh0ZW5zaW9uZGF0YSJ9fV0sImFjc1NpZ25lZENvbnRlbnQiOm51bGx9", "version": "2.1.0", "eci": "5", "cavv": "czFkVjllVGtFNHJsUzlNd3ZQVjQ=", "whiteListStatus": "N", "acsChallengeMandate": "Y", "authenticationType": "01", "authenticationResult": "Y", "flow": "Challenge", "merchantId": "000000000000715", "acsTransID": "ed7b1ab1-3d9c-4073-9a83-82805d84b474", "dsTransID": "852e23af-6446-4abb-9693-bde0ac2c5bb5", "challengePreferenceReason": "NoPreference", "acquirerDecision": "ExemptionRequest", "decisionReason": "NoPreference", "isLiabilityOnIssuer": "true" } } } }
3DS Response Parameters
These are the challenge and exemption parameters returned in the threeD
block.
threeD Block Parameter | Description | Possible Values |
---|---|---|
challengePreferenceReason | Identifier of combinations of flow and acquirerDecision . | See the Challenge Preference Reasons table below. |
flow | The type of 3DS flow used to complete the request. |
|
acquirerDecision | The type of 3DS flow the acquirer asked the merchant to perform. Currently, this is only applicable to the exemption flow. |
|
Challenge Preference Reasons
The issuer’s challenge or exemption decision returned in the response to the second payment request (/payments/{payment-id}/fingerprint
) or to the final payment request (/payments/{payment-id}/challenge
) is:
- Most often just a confirmation of the “challenge/exemption request” sent in the request by the acquirer (Nuvei).
- Can be based on a request from the merchant.
- Can be based on the issuer’s own risk calculations.
acquirerDecision | challengePreferenceReason |
---|---|
ChallengeRequest | InitialMerchantInitiatedTransaction |
ChallengeRequest | InitialRecurringPayment |
ChallengeRequest | AddCard |
ChallengeRequest | AccountVerification |
ExemptionRequest | MerchantInitiatedTransaction |
ExemptionRequest | RecurringPayment |
ExemptionRequest | MerchantScaDelegation |
ExemptionRequest | WalletScaDelegation |
ExemptionRequest | CorporateCard |
ExemptionRequest | TrustedBeneficiaries |
ChallengeRequest | AlwaysChallenge |
ExemptionRequest | NoPreference |
ChallengeRequest | RuleEngineChallenge |
ExemptionRequest | LowValuePayment |
ExemptionRequest | TransactionRiskAnalysis |
Use Cases
3DS Scenarios
This table lists possible scenarios for different flows.
Use Case | Input threeD Block | Flow | acquirerDecision | challengePreferenceReason | Result threeD Block |
---|---|---|---|---|---|
Challenge requested by Nuvei | Yes | Challenge | ChallengeRequest | relevant challengePreferenceReason (challenge reason) | Yes |
Challenge just by Issuer (regular challenge) | Yes | Challenge | Null | Null | Yes |
Frictionless | Yes | Frictionless | Null | Null | Yes |
Exemption by the merchant (when sending challengePreference="02" ) | Yes | Exemption | Null | Null | Yes |
Exemption by Nuvei | Yes | Exemption | ExemptionRequest | relevant challengePreferenceReason (exemption reason) | Yes |
Straight to authorization | No | Exemption | ExemptionRequest (optional) | relevant challengePreferenceReason (exemption reason) | Yes |
Non-3D-Secure | No | Null | Null | Null | No |