Subscriptions allow the merchant to take repeated payments from an end-customer.


Subscriptions are applicable to our Smart Checkout solution. The payment method should support recurring payments.

✔️ Subscriptions do support our ISV schema
❌ Subscriptions do not support pre-authorizations
❌ Subscriptions do not support card installments

A subscription payment is a payment made automatically by the merchant, initiated by the merchant without the involvement or presence of the customer (no 3DS authentication is required), done on a regular or non-regular schedule, for a fixed or variable amount (the payments may be for different amounts over time). This requires an initial payment to be done with the involvement of the customer (3DS authentication may be required), during which the customer provides consent to the merchant to make future automatic payments (recurring payments).

For further technical information and a step-by-step guide, please see our Create a recurring payment tutorial page

How it works

A customer opts in to have certain payment details retained in order to repeatedly charge them for an ongoing product or service. At the agreed-upon frequency, a payment is taken from the customer account without their active input/involvement.
This continues for the duration of the agreed – between merchant and end client - subscription period or potentially until the cardholder cancels their subscription.


The below sequence diagram summarises the recurring payment procedure.

sequenceDiagram participant Merchant app participant Merchant backend participant Viva API Merchant backend->>Viva API:Create payment order for recurring payment Viva API-->>Merchant backend:Payment order created Merchant backend-->>Merchant app:Payment order Merchant app->>Viva API:Redirect customer to payment page to pay the payment order Viva API-->>Merchant app:Confirm payment & initial transaction created Merchant backend->>Viva API:Retrieve payment details Viva API-->>Merchant backend:Payment details Merchant backend->>Merchant backend:Verify payment loop Recurring payments Merchant backend->>Viva API:Create new transaction using ID of initial transaction Viva API-->>Merchant backend:Confirm payment & subsequent transaction created End

Initial Payment

Sub Payments

Get Support

If you would like to integrate with Viva, or if you have any queries about our products and solutions, please see our Contact & Support page to see how we can help!