VRP basics

Learn how to accept recurring payments with the Payments API v3.

Variable Recurring Payments (VRP) enable you to receive payments from customers on a recurring basis. Currently, VRPs are only available in the UK.

The first step of a VRP is a mandate. A mandate is a set of constraints that determine:

  • The period over which payments can be made.
  • The maximum amount of an individual payment.
  • The maximum amount that can be paid over a specified period.

After your user authorises a mandate, you can accept payments for a variety of purposes such as fixed or variable subscriptions, or ad hoc background payments. These payments do not have to be authorised individually, as long as they fall within the constraints of the mandate.

Types of VRP

VRPs belong to one of two categories: sweeping VRPs or commercial VRPs.

Sweeping VRPs are payments between a customer's accounts, as defined by the CMA. For example, moving money between current accounts, paying off credit card debt, or moving money to savings.

Commercial VRPs are payments that don't fall within the scope of sweeping as defined by the CMA. This includes applications such as e-commerce payments, subscriptions to a variable service, or investments. You could use commercial VRPs to set up a one-click checkout where a user provides a mandate to create a series of payments to the same merchant.

When you generate an access token to create a mandate, you provide a scope that specifies whether it's for commercial or sweeping payments.

VRP mandate and payment journey

To set up recurring payments, your user must first authorise a payment mandate. This mandate represents the authorisation that a user has given you to take payments from their payment account.

At a high level, the steps required to progress a user to making a payment are as follows:

  1. Define the mandate and consent parameters so it's ready to authorise.
    You do this through a request to the /v3/mandates endpoint.
  2. Send your user through a UI to authorise the mandate.
    You can use a TrueLayer UI such as the HPP, or build your own.
  3. Create a payment that uses the authorised mandate's id in the payment_method.
  4. Receive status updates on the payment attempt, and receive funds.
    This is automatic with a TrueLayer merchant account, or you can use references for external accounts.

Next steps

You need to create a mandate before you can make any VRPs. Learn how to create a mandate and what to include in it.