Pay by Bank Statuses

Understand the status field for Pay by Bank payments.

When you receive a webhook from the JSON payload will contain a status field which tells you about the current status of the payment.

When delivers a form POST to your redirect_url the status field will also be present.

The table below describes each of these payment statuses:

cancelledThe user did not provide consent for the payment to be set up, selecting to reject the payment.
declinedThe payment request was declined by the bank, or the user failed to authenticate the payment.
errorThe payment has failed (see detail below).
expiredThe payment has been abandoned by the user (see detail below).
executedThe payment request has been executed by the bank. (If the funds are settled outside of an ledger, the final payment status would stay at executed).
settledThe payment has been received into your settlement account. (This status is only applicable for customers that use Acquired-held accounts, where collects the money.)

Error status

What can cause a payment to result in error status?

There are a couple of reasons why a payment could be in an error status:

  • The originating bank could not send the payment (e.g. because of some internal error).
  • There is something wrong with the Faster Payments network.

Expired status

What can cause a payment to result in expired status?

Once the user has selected their bank, they have 10 minutes to authorise the payment. If the user does not action the authorisation the status of the payment will resolve to expired. There are different reasons why this would happen:

  • The user has selected the bank, but abandoned the flow and closed the bank's app/website without selecting the cancel button.
  • The user has experienced an error whilst being redirected to their banks environment.
  • The user has failed the authentication process.