Nuvei’s rebilling service allows you to create and manage recurring charges for products and services that you offer to your customers. You can set payment plans or subscriptions and still have the flexibility to modify, extend, or cancel them.
The service also takes advantage of the “card updaters” feature provided by card schemes (for supported cards), to ensure the frictionless charging of a running subscription, in the event of card details being changed by the card issuer on the customer’s side.
The service is available through our API, Cashier, and Control Panel platforms via API methods.
You can see a working example of a rebilling workflow in our “Recurring – with 3D-Secure” Postman scenario. To access this Postman scenario, import this Nuvei postman collection JSON file into your Postman instance, and follow the instructions provided in the Testing APIs with Postman topic.
The rebilling service consists of three components:
- Plan – The recurring-payment plan offered by a merchant, containing subscription conditions, to pay for goods and services.
- Subscription – The actual recurring payment contract that was set up for a specific customer.
- Customer – The end-user who is registered to one or more subscriptions, under one or more payment plans.
Creating a subscription requires an active payment method that can be used during the subscription’s lifecycle. A user payment option (UPO, is a token representing the customer’s payment method) can be created by using a unique method on our end, which requires the card’s full payment details including CVV2. When using Cashier to create a Rebilling subscription, a UPO is created as part of process.
The initial subscription payment containing the UPO is sent for processing (on the gateway) on the “initial payment date”.
Recurring payment requests are sent to an acquirer for processing, according to the subscription’s conditions. They must be flagged as “rebilling payments” and contain a UPO, but do not require a CVV2.
Rebilling plans act as the base template for every subscription. These can be created, edited, or deleted from our CPanel, or via REST API methods.
Individual subscriptions can be created by either:
- Redirecting the customer to the Nuvei Checkout Page, where they are presented with the details of a subscription plan. They can enter their card details or choose a previously saved card.
- Or, via the REST API method, which creates the subscription using previously stored card details. Any or all parameters of the Rebilling plan, which is used as template for the subscription, can be changed dynamically during its creation.
Resulting subscriptions can be modified or cancelled via our CPanel ,or via REST API methods.
To ensure a smooth subscription experience for both merchants and customers, Nuvei has included a “retry mechanism” in the rebilling service. If a recurring payment is declined, the merchant is notified via a Direct Merchant Notification (DMN) callback and the retry mechanism is initiated:
- The first retry is executed 72 hours after the initial decline. If this attempt fails, the merchant is once again notified about the declined payment.
- A second retry is executed 72 hours after the second decline. If this retry also fails, the merchant is notified with a notification about the declined payment.
- A third and final retry is executed 72 hours after the third decline (72×3=216 hours after the initial decline).
If the final retry fails, the subscription is cancelled and the merchant is notified accordingly, with a notification indicating the cancellation of the subscription.
These are the types of DMN notifications send by Nuvei to the merchant:
- Re-try subscriptionPayment DMN notifications are send when the transaction status is “Declined”.
- Subscription cancelled DMN notifications are send when the subscription status changed to “Inactive”.
In addition to the rebilling service (described above), where the Nuvei system is responsible for storing and managing the membership details, and scheduling the recurring charges, you may wish to manage some of these functions yourself. Instead of using our rebilling service, you can use our REST API /payment method, which allows you to maintain rebilling membership and initiate recurring charges.
When sending a recurring /payment request, include the
"isRebilling":"0"– to indicate that it is the initial transaction.
"isRebilling":"1"– to indicate that it is a subsequent transaction.
The transactions can be performed using the UPO’s
cardData. In either case, you must include relatedTransactionId from the initial transaction.