Statuses
This page describes the status values returned for Pay by Bank one-off payments, VRP mandates, and VRP payments.
When you receive a webhook from Acquired the JSON payload will contain a status field which tells you about the current state of the payment or mandate. For one-off payments, the status field is also present when Acquired delivers a form POST to your redirect_url.
The mandate and VRP payment statuses below apply to both Sweeping and Commercial VRP.
One-off payment statuses
| Status | Description |
|---|---|
cancelled | The customer did not provide consent for the payment, selecting to reject it. |
declined | The payment request was declined by the bank, or the customer failed to authenticate. |
error | The payment failed due to a technical issue (see detail below). |
expired | The payment was abandoned by the customer (see detail below). |
executed | The payment request has been executed by the bank. If funds are settling outside of an Acquired ledger, the final payment status will remain at executed. |
settled | The payment has been received into your Acquired settlement account. This status only applies to merchants using Acquired-held accounts. |
Error status
An error status indicates the payment failed due to a technical issue, either at the originating bank or on the Faster Payments network.
Expired status
Customers have 10 minutes to authorise a payment after selecting their bank. If they do not complete authorisation within this window (for example they abandon the flow, encounter a redirect error, or fail authentication at their bank), the payment resolves to expired.
Mandate statuses
The following statuses apply to VRP mandates, which govern the authorisation a customer grants for recurring Open Banking payments.
| Status | Description |
|---|---|
pending | The mandate has been created and is awaiting customer authorisation. |
active | The customer has authorised the mandate. Payments can now be collected within the agreed constraints. |
cancelled | The mandate has been cancelled, either by the customer directly from their banking app or through the hosted revocation flow. No further payments can be collected. |
expired | The mandate's validity period has ended (i.e. the end_date constraint has passed). No further payments can be collected. |
failed | The customer's authorisation attempt was unsuccessful, or the mandate could not be created. |
Mandate lifecycle
A mandate transitions through two phases. During setup, a pending mandate will move to active if the customer authorises successfully, or to failed or expired if authorisation is unsuccessful or not completed in time. Once active, a mandate remains active until it is either cancelled by the customer or merchant, or expired when the end_date passes.
Note: Customers can cancel a mandate at any time directly from their banking app, and merchants can offer cancellation through the hosted revocation flow. You will receive a webhook notification when either occurs. Ensure your integration handles cancelled mandate webhooks to prevent attempting payments against an inactive mandate.
VRP payment statuses
The following statuses apply to individual payments collected against an active VRP mandate. Unlike one-off payments, VRP payments do not require a customer redirect, so there is no redirect_url form POST for these.
| Status | Description |
|---|---|
pending | The payment has been initiated and is being processed. |
executed | The payment has been executed by the bank. If funds are settling outside of an Acquired ledger, the final payment status will remain at executed. |
settled | The payment has been received into your Acquired settlement account. This status only applies to merchants using Acquired-held accounts. |
declined | The payment was declined. This may occur if the payment exceeds the mandate constraints, or if the bank declined execution. |
error | The payment failed due to a technical issue (see detail below). |
How a VRP payment status progresses
A VRP payment status is not a single value you read once. It is a progression you observe over time, and you must track it through webhooks or polling rather than relying on the initial API response.
- On submitting a collection, whether Sweeping or Commercial, the API response only ever returns
pendingorerror. Apendingresponse is not the final outcome. - All subsequent status changes arrive via the
status_updatewebhook. Track the collection through these events, not through the response to your original request. - The typical successful flow is
pending→executed→settled:executedmeans the bank has accepted and executed the payment.settledmeans the funds have landed in the Acquired ledger. This only applies to internal, Acquired-held settlement. For external settlement, Acquired has no visibility of the receiving bank account, so the status stops atexecuted.
- If you do not want to rely on webhooks, or a webhook delivery fails (network issues do occur), poll the collection status directly via the relevant GET endpoint rather than assuming the
pendingfrom the API response is the final word.
Error status
An error status indicates the payment failed due to a technical issue, either at the originating bank, on the Faster Payments network, or because the mandate was no longer active at the time of the attempt.
Updated 12 days ago