Introduction
Nuvei supports several payment flows which support a range of merchant payment models.
For example, some merchants require a one-time payment to charge their customers, while others have subscriptions based on recurring payments. In addition, many merchants handle 3D-Secure differently.
This page summarizes the following payment flows:
- 3D-Secure
- Non-3D
- MIT Recurring Payments
- APM Payments
3D-Secure
Manage 3D-Secure
Merchant Requirement
I would like Nuvei to control my 3D management (to process 3D-Secure).
I would like Nuvei to manage all aspects of the 3D-Secure workflow and avoid the implementation complexities (e.g. when to process with 3D-Secure, when and how to perform 3D-Secure fingerprinting, when and how to perform the challenge, etc.)
Nuvei Solutions
- Using Payment Page: Seamless integration.
- Using Simply Connect: Seamless integration.
- Using Web SDK:
- Use the
createPayment()
method. - For full details, see Web SDK Quick Start.
- Use the
- Using Server-to-Server:
- When a 3D challenge is required, after presenting the 3DS Challenge to the customer, send the
relatedTransactionId
parameter containing the initial 3D-Securepayment_id
. - When a 3D challenge is not required, then send a 3D-Secure
/payment
request and include thethreeD
block containing the 3D data. - For full details, see Server-to-Server.
- When a 3D challenge is required, after presenting the 3DS Challenge to the customer, send the
Always 3D
Merchant Requirement
I want to perform 3D transactions only. If a payment request fails the 3D-Secure authentication, then abort the payment and don’t continue processing any transaction.
Some merchants wish to perform 3D-Secure transactions only.
Nuvei Solution
The “Always 3D” scenario is similar to the Manage 3D-Secure scenario (described above), however, if the 3D authentication fails (e.g. the cardholder or issuer is not registered for 3D-Secure), then the system aborts the payment, and does not continue processing any transaction.
(For the Manage 3D-Secure scenario (described above), if the 3D authentication fails, the system attempts to process the payment as a non-3D transaction.)
3D-Only (MPI only)
Merchant Requirement
I want to run authorizer/authenticate 3D.
I only want to use Nuvei’s 3D-Secure authorization and authentication services and then continue to process the transaction using another payment provider.
Nuvei Solutions
- Payment Page – Not applicable
- Simply Connect – Not applicable
- Using Web SDK:
- Use the
authenticate3d()
method. - For full details, see 3DS MPI-Only Web SDK.
- Use the
- Using Server-to-Server:
- Perform a 3D Auth by using an
/authorize3d
call and then verify it using a/verify3d
API call. - For full details, see 3DS MPI-Only REST.
- Perform a 3D Auth by using an
Liability Shift (External MPI)
Merchant Requirement
I want to run a liability-shifted transaction using 3D authentication that I received from my (external) MPI provider.
Some merchants prefer to perform the 3D-Secure service using a different party (e.g., having one 3D-Secure provider and multiple payment providers).
This is a 3DS liability shift payment using the externalMpi
block that specifies the authentication output received from the third-party 3D provider.
Nuvei Solutions
- Payment Page – Not applicable
- Simply Connect – Not applicable
- Web SDK – Not applicable
- Using Server-to-Server:
- Use
/payment
and include theexternalMpi
block with the authentication output from the third-party 3D provider. - For full details, see 3DS External MPI.
- Use
Non-3D
Merchant Requirement
I want to make a simple non-3D-Secure transaction.
This is relevant to merchants who operate in parts of the world that do not support 3D-Secure.
Nuvei Solutions
- Using Payment Page: Seamless integration.
- Using Simply Connect: Seamless integration.
- Using Web SDK:
- Use the
createPayment()
method. - See Web SDK Quick Start.
- Use the
- Using Server-to-Server:
- Send 3D-Secure
/payment
requests without thethreeD
block.
- Send 3D-Secure
MIT Recurring Payments
Merchant Requirement
I want to manage a recurring payment plan in my system.
Nuvei Solutions
Processing MIT (Merchant Initiated Transaction) recurring payments requires two steps:
Step 1: Initiating a Recurring Payment Facility
- Using Payment Page: Seamless integration.
- Using Simply Connect: Seamless integration.
- Using Web SDK:
- On the server-side, call the
/openOrder
API and setisRebilling
: “0” to define the initial MIT.
Then use thecreatePayment()
method. - For full details, see Submit the Initial MIT Payment.
- On the server-side, call the
- Using Server-to-Server:
- Use
/payment
and setisRebilling
: “0” to define the initial MIT. - For full details, see Submit the Initial MIT Payment.
- Use
Step 2: Performing Subsequent Recurring Payments
- Payment Page – Not applicable (use Server-to-Server – see below)
- Simply Connect – Not applicable (use Server-to-Server – see below)
- Web SDK – Not applicable (use Server-to-Server – see below)
- Using Server-to-Server:
- Use
/payment
and include:isRebilling
: “1” – To indicate that this is a subsequent MIT.relatedTransactionId
– Returned from the initiating payment request in Step 1.
- See or, for full details, see Submit Subsequent MIT Payment.
- Use
APM Payments
Merchant Requirement
I want to process APM (Alternative Payment Method) payments using Nuvei.
Nuvei Solutions
- Using Payment Page: Seamless integration.
- Using Simply Connect: Seamless integration.
- Using Web SDK:
- For full details, see Web SDK APMs.
- (Optional) You can use the
getAPMs()
method to retrieve relevant APMs for the customer to choose from. - Use the
createPayment()
method and include thealternativePaymentMethod
block containing the relevant payment method details. If applicable, the customer is automatically redirected to complete the payment.
- Using Server-to-Server:
- (Optional) You can use the
/getMerchantPaymentMethods
method to retrieve relevant APMs for the customer to choose from. - Use the
/payment
method and include thealternativePaymentMethod
block.
- (Optional) You can use the