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
class 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": { "version": "2.1.0", "eci": "5", "cavv": "czFkVjllVGtFNHJsUzlNd3ZQVjQ=", "whiteListStatus": "N", "acsChallengeMandate": "Y", "authenticationType": "01", "authenticationResult": "Y", "flow": "Challenge", "dsTransID": "852e23af-6446-4abb-9693-bde0ac2c5bb5", "challengePreferenceReason": "NoPreference", "acquirerDecision": "ExemptionRequest", "isLiabilityOnIssuer": "true" } } } }
3DS Response Parameters
These are the challenge and exemption parameters returned in the threeD
class.
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 Class | Flow | acquirerDecision | challengePreferenceReason | Result threeD Class |
---|---|---|---|---|---|
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 |