Minimum required API version: 1.2.0
- 3DS 2.0 External requires API version 1.3.0
The following features require an API version higher than the minimum:
- 3DS 2.0 Internal requires API version 1.3.0
The following table lists all supported payment methods. Contact your Nuvei account representative if you require additional payment methods.
|Payment Method||Payment Method Type||Notes|
|American Express||Cards||3D Secure external is not supported with American Express.|
AED, ARS, AUD, AZN, BGN, BHD, BND, BRL, BYN, BYR, CAD, CHF, CLP, CNH, CNY, COP, CRC, CZK, DKK, DZD, EEK, EGP, EUR, GBP, GEL, HKD, HRK, HUF, IDR, INR, IQD, ISK, JOD, KGS, KRW, KWD, KZT, LBP, LTL, LVL, MAD, MDL, MXN, MYR, NIS, NOK, NZD, OMR, PEN, PHP, PKR, PLN, QAR, RON, RSD, RUB, SAR, SEK, SGD, SKK, THB, TND, TRY, TWD, UAH, USD, UYU, VEF, VND, YEN, YER, ZAR
The following table provides an overview of all supported and non-supported features.
|3DS 2.0 External||Yes|
|3DS 2.0 PaymentsOS-handled||No|
|3DS 2.0 Provider-handled||No|
|3DS 2.0 Self-handled||Yes||Supported flow type: Self-handled Flow. For more information, see 3DS 2 Self-handled Flow.|
|Level 2 and 3 Data||No|
|Retrieve Supported Payment Methods||No|
|Retrieve Supported Plans||No|
|Statement Soft Descriptor||Yes|
|Stored Credentials Flag||Yes|
|Transaction Processing without CVV||No|
The following table lists all supported requests for card-based transactions. Use the bodybuilder to create a sample request body for each request type.
|Authorize||Partial and multiple are not supported||Synchronous|
|Capture||Both partial and multiple are supported||Synchronous|
|Credit||Partial and multiple are not supported||Synchronous|
|Refund||Both partial and multiple are supported||Synchronous|
A Nuvei account can be configured to use either Charge or Authorize, but not both. Any request you create in PaymentsOS should therefore match the request type you chose to use in Nuvei (do not create an Authorize request in PaymentsOS if you use Charge in Nuvei and, vice versa, do not create a Charge request in PaymentsOS if you use Authorize in Nuvei).
WarningFailing to configure a matching request type will cause unwanted behavior, such as an actual transfer of funds when issuing an Authorize request or a mismatch in request statuses between PaymentsOS and Nuvei.
|In the PaymentsOS Control Center, configure the following credentials: ||Required|
|In your Nuvei account, make sure to set the HTTP method for IPN notifications to POST.||Required|
|In the PaymentsOS Control Center, create webhooks to be notified when a transaction changes its status. This is recommended if you enabled 3DS.||Optional|
|In your Nuvei account, create separate merchant accounts if you want to use both Charge and Authorize requests. This requires that you create separate provider configurations in the PaymentsOS Control Center as well. Note: With Nuvei you can use either Charge or Authorize, but not both. If you require both, create a separate merchant account for each request type.||Optional|
|In your Nuvei account, enable the transaction request types you would like to use:||Optional|
|In your Nuvei account, you can configure your risk settings so that the following fields are optional:||Optional|
|In your Nuvei account, enable passing of a soft descriptor in your payment requests. Note: This is known as a Dynamic Descriptor in your Nuvei account.||Optional|
|Inform with your Nuvei account manager about exemptions in authorizations for SCA requests (exemptions are handled by Nuvei).||Optional|
The following section lists the integration procedures that are specific to this provider.
Identifying a Liability Shift for 3DS Transactions
For 3D secure transactions, you can use an external 3DS provider to perform the 3D secure authentication and then pass the results of that authentication in the
three_d_secure_attributes.external object of the Create Authorization or Create Charge request. The
provider_data.additional_information.is_liability_on_issuer field, returned in the response of the Create Authorization or Create Charge request will then inform you whether a liability shift occurred:
- A value of
1indicates that a liability shift is present.
- A value of
0, empty or null indicates that no liability shift has occurred.
Use the testing resources provided in the Nuvei documentation.