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-3DS | No | Null | Null | Null | No |