Sign in
An image of the Stripe logo
Create account
Sign in
Home
Payments
Business operations
Financial services
Developer tools
No-code
All products
Home
Payments
Business operations
Home
Payments
Business operations
Financial services
Developer tools
Support
Overview
Online payments
Products and prices
Invoicing
Subscriptions
Quotes
In-person payments
Multiparty payments
After the payment
Add payment methods
    Overview
    Payment method integration options
    Bank debits
      ACH Direct Debit
      Bacs Direct Debit
        Accept a payment
        Export Bacs data from Stripe
        Import Bacs data to Stripe
        Save bank details
      Pre-authorized debit in Canada
      BECS Direct Debit in Australia
      SEPA Direct Debit
    Bank redirects
    Bank transfers
    Buy now, pay later
    Credit transfers (Sources)
    Real-time payments
    Vouchers
    Wallets
Payment Links
Stripe Checkout
Stripe Elements
About the APIs
Regulation support
Implementation guides
Testing
HomePaymentsBank debits

Bacs Direct Debit payments in the UK

Learn how to accept payments with Bacs Direct Debit in the UK.

Stripe users in the UK can accept Bacs Direct Debit payments from customers with a UK bank account.

To debit an account, businesses must collect a mandate from their customers. The mandate includes the customer’s sort code, account number, name, email, and full address. Stripe can generate this mandate for businesses to present to their customers.

Bacs Direct Debit is a reusable, delayed notification payment method. This means it takes 3 business days to confirm the success or failure of a payment when a mandate is already in place and 6 business days when a new mandate must be collected.

  • Customer locations

    UK

  • Presentment currency

    GBP

  • Payment confirmation

    Business-initiated

  • Payment method family

    Bank debit

  • Recurring payments

    Yes

  • Payout timing

    Standard payout timing applies

  • Connect support

    Yes

  • Dispute support

    Yes

  • Refunds / Partial refunds

    Yes / yes

Get started

We recommend you use Checkout or the Payment Element so you can automatically add Bacs Direct Debit and other payment methods from the Stripe Dashboard, without changing your code. Stripe then determines the list of supported payment methods to show each customer by evaluating the currency, payment method restrictions, and other parameters.

The following Stripe products also support adding Bacs Direct Debit from the Dashboard:

  • Payment Links
  • Subscriptions

If you prefer to manually list payment methods or want to save Bacs Direct Debit details for future payments, see the following guides:

  • Manually configure Bacs Direct Debit as a payment
  • Save Bacs Direct Debit details for future payments

Debit notifications

Bacs Direct Debit requires that customers are notified of the following:

  • When payment details are initially collected and confirmed
  • Each time a debit will be made on their account

By default, Stripe automatically sends emails to the customer for the above cases. You can customize the colors and logo for these emails to fit the design and branding of your business.

If you require sending your own customer email notifications, follow these steps to customize your Business Display Name and contact us for approval of your email templates.

Disputed payments

Bacs Direct Debit provides a dispute process for customers to dispute payments.

Customers can dispute a payment through their bank for an unlimited period of time.

When a dispute is created, Stripe sends a charge.dispute.created webhook event and deducts the dispute amount from your Stripe balance. Bacs Direct Debit disputes don’t incur a fee.

Unlike credit card disputes, Bacs Direct Debit disputes are final and can’t be appealed. If a customer successfully disputes a payment, you must contact them if you want to resolve the situation. If you’re able to come to an arrangement and your customer is willing to return the funds to you, they must make a new payment.

Mandates

As part of the payment process, businesses must collect a mandate which gives them authorization to debit an account. For Bacs, this mandate is called a Direct Debit Instruction, or DDI. You can find information on how to collect a mandate with Stripe Checkout on the Accept a payment page.

Customers can request the cancellation of a mandate at any time. To cancel a mandate, a customer must either reach out to the party they established the mandate with, or to their bank. Canceling a mandate invalidates any future debit requests that you issue using this mandate. If you want to accept additional payments from your customer, you need to establish a new mandate with them.

Mandate events

The mandate can change at any time after you’ve collected it. This may be the result of the customer instructing their bank to amend the mandate or because of a change in the bank itself (for example, the customer changes to a different one). Stripe sends the following events when the mandate changes:

Event nameDescription Can accept payments?
mandate.updatedOccurs whenever a mandate is rejected, canceled, or reactivated by the Bacs network. Check mandate.status to determine if the mandate can continue to be used.Yes, if the new status is active
payment_method.automatically_updatedOccurs when a customer’s bank account details change.Yes

These events are available in the Dashboard, but you can set up a webhook to handle these programatically.

Refunds

Refunds for payments made with Bacs Direct Debit must be submitted within 180 days from the date of the original payment. Refunds require additional time to process (typically 3-4 business days). If you accidentally debit your customer, please contact them immediately to avoid a payment dispute.

Refunds aren’t part of the Bacs Direct Debit scheme and are provided outside of Bacs Direct Debit by Stripe. Since Bacs Direct Debit has an indefinite indemnity period, if a customer creates a dispute any time after a refund has been issued, you can lose both the disputed amount and the amount you refunded separately.

You can issue full or partial refunds for Direct Debit payments by using the API to create a refund with the PaymentIntent object.

Refunds are processed only after the payment process is complete. If you create a full or partial refund on a payment that hasn’t completed yet, the refund process starts when the Charge object’s status transitions to succeeded. If the Charge object’s status transitions to failed, the full or partial refund is marked as canceled because the money was never debited from the customer’s bank account.

Timing

It takes 3 business days to confirm the success or failure of a Bacs Direct Debit payment when a mandate is already in place and 6 business days when a new mandate must be collected. Payments made after 20:00 UTC are submitted the following business day.

In some cases, the bank may notify us of a payment failure after the payment has been marked as successful in your Stripe account. In this case the payment failure is identified as a dispute with the appropriate reason code.

This table shows the Bacs timeline in business days from the time (T) that a payment is made when a new mandate must be collected:

T+0Mandate submitted
T+3Mandate is active and the payment is submitted
T+5Funds leave the customer’s bank account
T+6Funds are available in Stripe

Checkout

Checkout creates a secure, Stripe-hosted payment page that lets you collect payments quickly. You can use Checkout to collect Bacs Direct Debit payments, or collect payment details that you can use to initiate payments at a later date.

Connect

Stripe Connect can be used with Bacs Direct Debit to process payments on behalf of others.

Connect users can use Bacs Direct Debit with the following account and charge types:

Account typesCharge typesStripe’s recommendation
  • Standard
  • Express
  • Custom
  • Direct
  • Destination
  • Separate Charges and Transfers
Custom with destination charges

Request the bacs_debit_payments Capability

Platforms in the UK do not need to request the bacs_debit_payments capability for their UK Connect accounts when performing destination charges. Platforms in AT, BE, CH, DE, DK, ES, FI, FR, IE, IT, LU, NL, NO, SE, and PT may still process Bacs Direct debits for their UK Connect accounts; however, the UK Connect account must have the bacs_debit_payments capability enabled in this case.

In both scenarios, requesting the bacs_debit_payments capability is required if you want to use the on_behalf_of parameter. This will allow you to collect mandates using the connected accounts chosen display name, and have that name appear on statement descriptors. There is a £50 monthly fee for each account using custom branding.

Request Bacs Direct Debit capabilities for your custom Connect accounts.

Custom Branding

You can customize your customer’s bank statements, Stripe Checkout, and customer emails for direct debits to show your business name by upgrading to Custom Branding. You can enable Custom Branding in your Bacs Direct Debit settings.

Custom Branding is charged at £50 per active month. Your business name is shown for new mandates created 5 days after you collect your first Bacs mandate. If you want your custom branding to appear on mandates sooner than this, contact us.

Was this page helpful?
Questions? Contact us.
Watch our developer tutorials.
Check out our product changelog.
Powered by Markdoc
You can unsubscribe at any time. Read our privacy policy.
On this page
Get started
Debit notifications
Disputed payments
Mandates
Refunds
Timing
Checkout
Connect
Custom Branding
Stripe Shell
Test mode
Welcome to the Stripe Shell! Stripe Shell is a browser-based shell with the Stripe CLI pre-installed. Login to your Stripe account and press Control + Backtick on your keyboard to start managing your Stripe resources in test mode. - View supported Stripe commands: - Find webhook events: - Listen for webhook events: - Call Stripe APIs: stripe [api resource] [operation] (e.g. )
The Stripe Shell is best experienced on desktop.
$