Recurring payments
Recurring Pay by Bank payments use Variable Recurring Payments (VRP), an Open Banking capability that allows you to collect multiple payments from a customer under a single, pre-authorised mandate. VRP is part of Pay by Bank.
VRP types
The type of VRP you use will influence which banks are available to your customers.
| Type | Description | Bank availability |
|---|---|---|
| Sweeping | Move funds between two accounts belonging to the same customer (e.g. current account to savings pot). | Broadly available |
| Commercial | Collect payments from a customer to a third party (e.g. subscription billing). Acquired supports the UK Payments Initiative (UKPI) to maximise bank coverage. | Varies by bank participation in UKPI |
If you are unsure which VRP type applies to your use case, contact us and we can advise.
Good to know
| Topic | Detail |
|---|---|
| Eligibility (Commercial VRP) | Available for approved UKPI use cases. Eligibility is confirmed during onboarding. Contact us to check your use case. |
| Disputes (Commercial VRP) | Handled under the UK Payments Initiative's dispute and arbitration process. Separate from card chargebacks and Direct Debit indemnity claims. |
| Cancellation (all VRP) | Never fully self-service via your own API. A mandate can only be cancelled by the customer at their bank, or via Acquired's hosted revocation page. Every integration, including a fully direct-API one, depends on that hosted page. See Cancel a Mandate. |
How it works
Recurring payments follow a two-stage process: mandate setup, then payment collection.
Stage 1: Mandate setup
- Create a mandate request. Your server creates a mandate via the Acquired API, defining the constraints that govern future payments.
- Customer authorisation. The customer is redirected to their bank, where they review the constraints and provide consent. This is a one-time step. For the device-specific experience, see Customer authentication.
- Mandate active. Once authorised, the mandate is active and ready to use. You receive a webhook confirming the mandate status.
Mandate constraints (consent parameters)
The following parameters are set when creating a mandate. For both Sweeping and Commercial VRP, these are the consent parameters the customer reviews and approves at their bank:
| Parameter | Description |
|---|---|
max_amount_per_payment | Maximum amount that can be charged in a single transaction. |
periodic_limit | Cap on the total amount or number of payments within a given period (e.g. per month). |
start_date / end_date | Optional validity window for the mandate. |
Note: Customers can view and cancel their mandate directly from their banking app at any time. Your integration must also support a mandate cancellation flow (see Cancel a Mandate).
Stage 2: Payment collection
Once a mandate is in place, you can collect payments without any further customer interaction, as long as each payment falls within the agreed constraints.
- Initiate a payment. Your server creates a payment request referencing the active mandate ID, specifying the amount for that transaction.
- Payment processed. The payment is executed immediately over Faster Payments. No customer redirect is required.
- Receive confirmation. A webhook notifies you of the payment outcome. See Statuses for how a collection progresses.
Note: If a requested payment exceeds the mandate constraints, it will be declined. Ensure your payment amounts are validated against the mandate before submission.
Recurring Pay by Bank payments are well suited for subscription billing, savings contributions, top-ups, and any use case requiring flexible, variable-amount collections.
Cancelling a mandate, statuses and webhooks
To cancel a mandate, see Cancel a Mandate. For the possible statuses and how a collection progresses, see Statuses. For the mandate and payment webhooks you will receive, see Webhook Notifications.
Updated about 1 hour ago
