Stripe users in the UK can use Checkout in payment mode to accept Bacs Direct Debit payments.
A Checkout Session represents the details of your customer’s intent to purchase. You create a Session when your customer wants to pay for something. After redirecting your customer to a Checkout Session, Stripe presents a payment form where your customer can complete their purchase. Once your customer has completed a purchase, they are redirected back to your site.
Payments can fail for a variety of reasons. The reason for a failure is available through charge.failure_code. Only payments with certain failure codes may be retried. If a payment cannot be retried, we recommend reaching out to the customer and asking them to pay again using a different bank account or a different payment method.
Below is a list of failure codes we currently send for Bacs Direct Debit. We may add more at any time, so in developing and maintaining your code, you should not assume that only these types exist.
|The bank account has been closed.||No|
|The account has been transferred to a new Payment Service Provider (PSP). Check if you have been notified of the new PSP’s details. If not, you must collect a new mandate from the customer.||No|
|The customer has notified their bank that this payment was unauthorized or there is no mandate held by the paying bank.||No|
|This payment could not be processed.||Yes|
|The customer’s account has insufficient funds to cover this payment.||Yes|
|The account number is not valid. This could mean it is not for a GBP account or that the account cannot process Direct Debit payments.||No|
To retry a payment, confirm the PaymentIntent again using the same PaymentMethod.
To ensure success, we recommend reaching out to the payer before retrying a payment.