# Bacs Direct Debit payments

Learn how to accept Bacs Direct Debit payments 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](https://docs.stripe.com/payments/payment-methods.md#payment-notification). It typically takes 4 business days to confirm the success or failure of a payment when a mandate is already in place, or up to 7 business days when collecting a new mandate.
Payment method family: Bank Debits
Usability: Reusable
Access type: Instant provisional access
Payment confirmation timing: Delayed
Settlement timing: Standard payout schedule
Pricing: https://stripe.com/en-gb/pricing/local-payment-methods#bacs-direct-debit
## Eligibility and availability 

### Account eligibility
Business location: AT, AU, BE, BG, CA, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HR, HU, IE, IT, LI, LT, LU, LV, MT, NL, NO, PL, PT, RO, SE, SG, SI, SK, US
Account type: ✓ Merchant, ✓ Platform or marketplace (Connect)
Business model: ✓ B2B, ✓ B2C
Business category: View list of prohibited and restricted business categories
### Verification requirements 

Using Bacs Direct Debit requires additional [identity verification](https://support.stripe.com/questions/common-questions-about-stripe-identity#how-verification-works). Stripe prompts you to complete these steps after you request access in [Payment methods settings](https://dashboard.stripe.com/settings/payment_methods). If you need help, [contact support](https://support.stripe.com/contact).

Review the list of *merchant category codes* (A Merchant Category Code (MCC) is a four-digit number that classifies the type of goods or services a business offers) that are prohibited or restricted for Bacs Direct Debit.

- **Prohibited** MCCs are not supported by this payment method.
- **Restricted** MCCs may be supported, but require additional information at account creation.

| MCC | Description | Type |
| --- | --- | --- |
| 4829 | Money Orders - Wire Transfers | Restricted |
| 5122 | Drugs, Drug Proprietaries, and Druggist Sundries | Restricted |
| 5499 | Miscellaneous Food Stores | Restricted |
| 5912 | Drug Stores and Pharmacies | Restricted |
| 5941 | Sporting Goods Stores | Restricted |
| 6012 | Financial Institutions | Restricted |
| 6050 | Software | Restricted |
| 6051 | Cryptocurrency exchanges and wallets | Restricted |
| 6211 | Security Brokers/Dealers | Restricted |
| 6536 | Software | Restricted |
| 6537 | Software | Restricted |
| 6538 | Software | Restricted |
| 6539 | Software | Restricted |
| 6540 | Non-FI, Stored Value Card Purchase/Load | Restricted |
| 7800 | Government-Owned Lotteries (US Region only) | Restricted |
| 7801 | Government Licensed On-line Casinos (On-Line Gambling) | Restricted |
| 7802 | Government-Licensed Horse/Dog Racing | Restricted |
| 7995 | Betting/Casino Gambling | Restricted |
| 9223 | Bail and Bond Payments | Restricted |
| 9311 | Tax Payments - Government Agencies | Restricted |
| 9754 | Lodging - Hotels/Motels/Resorts (Continued) | Restricted |
| 6010 | Manual Cash Disburse | Prohibited |
| 6011 | Financial Service | Prohibited |
| 7273 | Dating/Escort Services | Prohibited |

Stripe accounts in the following countries can accept Bacs Direct Debit payments that settle in a supported currency.

AMER: CA, US

EMEA: AT, BE, BG, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HR, HU, IE, IT, LI, LT, LU, LV, MT, NL, NO, PL, PT, RO, SE, SI, SK

APAC: AU, SG

Customers in the following countries can use Bacs Direct Debit.

EMEA: GB

### Payment support
Buyer location: GB
Presentment currency: GBP
Geographic coverage: ✓ Domestic, ✓ Crossborder
### Transaction limits 

Bacs Direct Debit transactions have a default limit of 10,000 GBP each. New users also have a weekly limit of 10,000 GBP that increases as they process more Bacs Direct Debit payments. If you need higher limits, [contact support](https://support.stripe.com/?contact=true).

## Capabilities 
Recurring payments: ✓ Supported

Payment authorizations:
  ✗ Extended authorizations
  ✗ Flexible extended authorizations
  ✗ Incremental authorizations
  ✗ Decremental authorizations
  ✗ Re-authorizations

Payment captures:
  ✗ Manual capture
  ✗ Partial capture
  ✗ Multi-capture
  ✗ Over-capture

Refunds:
  ✓ Partial refunds
  ✓ Full refunds
  Submission window: 180 days
  Processing time: 4 business days

Disputes:
  ✗ Partial disputes
  ✓ Full disputes
### Refunds 

Refunds for Bacs Direct Debit payments must be submitted within 180 days of the original payment. Refunds typically take 3–4 business days to process. If you accidentally debit your customer, contact them immediately to avoid a payment dispute.

#### Refund process 

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

Due to longer settlement periods and the indefinite dispute window, your customer might contact both you and their bank about the same payment. If you proactively issue a refund while the customer’s bank also initiates a dispute, your customer might receive two credits for the same transaction.

To reduce the risk of a double credit:

- Confirm with your customer that you’re processing the refund so they don’t independently file a dispute with their bank.
- Tell your customer the expected 3–4-business-day processing time.
- Issue the refund through Stripe only after the original payment has fully settled.

Issuing a refund doesn’t prevent the customer’s bank from processing a dispute. You can issue full or partial refunds using the [Dashboard](https://dashboard.stripe.com/payments) or [Refunds API](https://docs.stripe.com/api/refunds/create.md).

If you create a full or partial refund while the original payment is still processing, the refund begins only after the [Charge](https://docs.stripe.com/api/charges/object.md) succeeds. If the Charge fails, Stripe cancels the pending refund because the customer’s bank account was never debited.

#### Tracking refunds 

You can view the refund in the [Dashboard](https://dashboard.stripe.com/payments), or [retrieve the Refund object](https://docs.stripe.com/api/refunds/retrieve.md) and inspect its `status` field.

### Disputes 

There’s no set time limit for customers to file Bacs Direct Debit disputes. Bacs Direct Debit payments can only be disputed once.

#### Dispute process 

Customers can dispute a Bacs Direct Debit payment through their bank for an unlimited period of time. When the bank creates a dispute, Stripe deducts the dispute amount and the applicable dispute fee from your Stripe balance. Bacs Direct Debit disputes are final and can’t be appealed.

#### Dispute notifications 

When a dispute is created, Stripe sends a [`charge.dispute.created`](https://docs.stripe.com/api/events/types.md#event_types-charge.dispute.created) *webhook* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) event. You can also review the dispute in the [Dashboard](https://dashboard.stripe.com/disputes).

#### Responding to disputes 

You can’t submit evidence or counter a Bacs Direct Debit dispute. Contact your customer directly if you want to resolve the situation.

#### Dispute outcomes 

The bank’s dispute decision is final and non-appealable. If you reach an arrangement with your customer and they agree to return the funds, they must make a new payment. The dispute fee isn’t refunded.

### Mandates 

To debit a customer’s account, you must collect a Bacs Direct Debit Instruction (DDI), also called a mandate. The mandate authorizes you to debit the account for one-time and recurring payments.

#### What customers authorize 

By accepting the Bacs Direct Debit mandate, the customer authorizes you to debit their bank account under the Direct Debit Instruction. Stripe records the business name, acceptance details, and Bacs mandate reference on the Mandate object.

#### Collect mandates 

[Checkout](https://docs.stripe.com/payments/checkout.md) collects the customer’s Bacs bank details and mandate acceptance. The Payment Element can’t create Bacs Direct Debit SetupIntents; use Checkout in setup mode instead.

Custom API mandate collection requires Stripe approval. Your form must follow the [Bacs mandate collection requirements](https://docs.stripe.com/payments/bacs-debit/mandate-collection-requirements.md), including collecting the payer’s agreement with this exact checkbox text:

`I understand that [Merchant Name] has partnered with Stripe, who collects Direct Debits on behalf of [Merchant Name] and confirm that I am the account holder and the only person required to authorize debits from this account.`

#### Manage mandates 

A mandate can change after collection because the customer asks their bank to amend it or their bank details change. Stripe updates the mandate automatically and sends mandate events that you can monitor.

#### Cancel mandates 

Customers can request cancellation at any time from you or their bank. Canceling a mandate invalidates future debit requests. To accept more payments or continue a Subscription, collect a new mandate and payment details.

You can also cancel an active mandate by detaching its payment method from the Customer in the Dashboard or with the [PaymentMethods API](https://docs.stripe.com/api/payment_methods/detach.md). Customers can ask their bank to transfer a mandate to a new bank or report a name change; Stripe automatically applies those updates.

#### Mandate events 

The mandate can change at any time after you’ve collected it. This might result from the customer instructing their bank to amend the mandate or from a change at the bank. Stripe sends the following events when the mandate changes:

| Event name | Description | Can accept payments? |
| --- | --- | --- |
| `mandate.updated` | Occurs whenever a mandate is rejected, canceled, or reactivated by the Bacs network. Check [mandate.status](https://docs.stripe.com/api/mandates/object.md#mandate_object-status) to determine whether the mandate can continue to be used. | Yes, if the new status is `active` |
| `payment_method.automatically_updated` | Occurs when a customer’s bank account details change. | Yes |

These events are available in the [Dashboard](https://dashboard.stripe.com/events), and you can configure a *webhook* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) to handle them programmatically.

## Stripe product support 
Products:
  ✓ Checkout
  ✓ Payment Links
  ✓ Payment Element
  ✗ Express Checkout Element
  ✗ Mobile Payment Element
  ✗ Managed Payments
  ✗ Billing
  ✓ Invoicing
  ✓ Adaptive Pricing
  ✓ Customer Portal
  ✗ Radar
  ✗ Terminal
  ✓ Connect

APIs:
  ✓ PaymentIntents
  ✓ PaymentIntents with setup_future_usage
  ✗ SetupIntents
  ✓ CheckoutSessions
### Integration guides 

Use one of these guides to integrate Bacs Direct Debit:

- [Accept a Bacs Direct Debit payment](https://docs.stripe.com/payments/bacs-debit/accept-a-payment.md)
- [Save Bacs Direct Debit details for future payments](https://docs.stripe.com/payments/bacs-debit/save-bank-details.md)
- [Use Bacs Direct Debit with Checkout](https://docs.stripe.com/checkout/quickstart.md)
- [Use Bacs Direct Debit with Elements](https://docs.stripe.com/payments/quickstart.md)
- [Use Bacs Direct Debit with Invoicing](https://docs.stripe.com/invoicing/no-code-guide.md)
- [Use Bacs Direct Debit with Payment Links](https://docs.stripe.com/payment-links.md)
- [Use Bacs Direct Debit with Subscriptions](https://docs.stripe.com/billing/subscriptions/bacs-debit.md)

The Payment Element can’t create Bacs Direct Debit SetupIntents; use Checkout in setup mode instead. Express Checkout Element doesn’t support Bacs Direct Debit.

### Connect requirements 

Platforms in the UK don’t need to request the `bacs_debit_payments` capability for UK connected accounts when using [destination charges](https://docs.stripe.com/connect/destination-charges.md). Platforms outside the UK that process Bacs Direct Debit payments for UK connected accounts must enable the capability.

In both cases, [request the `bacs_debit_payments` capability](https://docs.stripe.com/connect/account-capabilities.md) when using [on_behalf_of](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-on_behalf_of).

Requesting the capability with `settings.bacs_debit_payments.display_name` enables Custom Branding for that connected account. To retain Stripe branding, omit the display name or set it to `Stripe`. Each account using Custom Branding incurs a 50 GBP monthly fee.

## Timing 

With Bacs Direct Debit, it can take several business days for funds to become available in your Stripe balance. The number of business days it takes for funds to become available is called the settlement timing. Payments are generally submitted on the same day that they’re created, but are processed on the following business day if they’re created on a non-business day or after the cutoff time.

You can access the `expected_debit_date` for Bacs Direct Debit under [payment_method_details](https://docs.stripe.com/api/charges/object.md#charge_object-payment_method_details) for [Charges](https://docs.stripe.com/api/charges/object.md). This is an estimated date of when the funds might be debited. This estimate isn’t guaranteed and the actual date might vary. This information is available in API responses and in [charge.updated](https://docs.stripe.com/api/events/types.md#event_types-charge.updated), [charge.succeeded](https://docs.stripe.com/api/events/types.md#event_types-charge.succeeded), and [charge.failed](https://docs.stripe.com/api/events/types.md#event_types-charge.failed) webhook events when the debit date can be determined.

It takes 4 business days to confirm the success or failure of a Bacs Direct Debit payment when a mandate is already in place and 7 business days when you must collect a new mandate.

In some cases, the bank might 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.

The following table describes the settlement timings for Bacs Direct Debit payments that Stripe offers. `T+x` refers to `x` business days after submission, which might differ from the payment creation date.

| Settlement type | Payment Success | Funds Available | Cutoff time |
| --- | --- | --- | --- |
| Standard Settlement | T+3 at 21:00 UTC | T+4 at 00:00 UTC | 20:00 Europe/London |

When you collect a new mandate, the typical timeline in business days is:

| Timing | Event |
| --- | --- |
| T+0 | Mandate submitted |
| T+3 | Mandate is active and the payment is submitted |
| T+5 | Funds leave the customer’s bank account |
| T+7 | Funds are available in Stripe |

## Debit notifications 

Bacs requires notifying customers when their payment details are collected and confirmed, and each time you debit their account. Stripe sends these emails by default. You can [customize their colors and logo](https://dashboard.stripe.com/account/branding).

To send your own notifications, follow the [email customization steps](https://docs.stripe.com/payments/bacs-debit/email-customization.md) to customize your Business Display Name and contact Stripe for approval of your email templates.

## Custom Branding 

Custom Branding displays your business name on customer bank statements, Stripe Checkout, and customer emails. Enable it in [Bacs Direct Debit settings](https://dashboard.stripe.com/settings/payment_methods). For Express or Custom connected accounts, set [`settings.bacs_debit_payments.display_name`](https://docs.stripe.com/api/accounts/object.md#account_object-settings-bacs_debit_payments-display_name) during account creation or in an account update.

If you request the capability without a display name, the account uses Stripe branding. Custom Branding costs 50 GBP per active month. New mandates show your business name 5 business days after your request. To expedite activation or apply branding to multiple connected accounts for one fee, [contact support](https://support.stripe.com/contact). Inactive branding eventually reverts to Stripe branding; if you have no active mandates, you can also revert it in Bacs Direct Debit settings.

## Billing retries 

Enable [Direct Debit retries](https://docs.stripe.com/billing/revenue-recovery/smart-retries.md#direct-debit-retries) to have Stripe automatically retry failed Direct Debit payments caused by insufficient funds. You can enable retries for [recurring subscription invoices](https://dashboard.stripe.com/revenue_recovery/retries), [one-off invoices](https://dashboard.stripe.com/settings/billing/invoices/general), or both.

Stripe can automatically retry each failed Bacs Direct Debit payment up to 2 times, no more than 30 days after the original payment attempt.

## Customer experience 

#### 1. Select Bacs Direct Debit

The customer selects Bacs Direct Debit as the payment method.

#### 2. Enter bank details

The customer enters their bank account details.

#### 3. Authorize the mandate

The customer reviews and authorizes the Bacs Direct Debit mandate.

#### 4. Payment submitted

The customer returns to your site after authorizing the payment. The payment remains processing while Stripe submits the mandate and debit. Final confirmation typically takes 4 business days with an existing mandate, or up to 7 business days when collecting a new mandate.

### Transaction identifiers 

By default, a customer’s bank statement identifies Stripe as the service user and includes the mandate reference. [Custom Branding](https://docs.stripe.com/payments/bacs-debit.md#custom-branding) changes the displayed service-user name for new mandates.

Retrieve the mandate-level reference from [`Mandate.payment_method_details.bacs_debit.reference`](https://docs.stripe.com/api/mandates/object.md#mandate_object-payment_method_details-bacs_debit-reference). For Connect payments, retrieve the Mandate in the account context that owns the payment and mandate.

If a customer asks about a debit, request the debit date and amount, the bank account’s last 4 digits, the service-user name shown on the statement, and the mandate reference. Bacs Direct Debit doesn’t support transaction-level statement descriptors.

## Enable Bacs Direct Debit 

If you use our front-end products, you can enable Bacs Direct Debit directly from your [payment method settings](https://dashboard.stripe.com/settings/payment_methods). Stripe then automatically determines the most relevant payment methods to display to your customers.

If your integration requires manually listing payment methods, learn how to [manually configure Bacs Direct Debit as a payment](https://docs.stripe.com/payments/bacs-debit/accept-a-payment.md).
