# Bank Debits Learn how to accept bank debits with Stripe. With bank debits, you can pull funds directly from your customer’s bank account for both one-time and recurring purchases. Bank debits are often used by: - Businesses collecting recurring payments from other businesses. - Retail and services businesses that want a low-cost alternative to cards for large consumer payments, like rent or tuition. Bank debits might not be a good fit for your business if: - You deliver goods immediately after checkout because payment confirmation takes several business days. - Your business is sensitive to disputes—consider other payment methods because some bank debit methods favor the customer during disputes. ## Payment flow To initiate a bank debit, a customer enters their bank account details during checkout and gives you permission to debit the account. This permission is called a mandate. ![Flow chart of the three step process the customer experiences. First, they select bank debit at checkout. Next the customer provides banking details and authorizes mandate. Finally, the customer gets notification that the payment is complete.](images/payments/bank_debits/payment_flow.svg) To reduce fraud with some bank debits, verify the bank account before the payment by confirming microdeposits or bank login. Verifying bank login can improve the user experience because customers pay by logging into their bank rather than entering bank account details. ## Product support You can use a single integration for all bank debits that works across Stripe products. With [Stripe Checkout](https://docs.stripe.com/payments/checkout.md), [Payment Element](https://docs.stripe.com/payments/payment-element.md), and [Payment Links](https://docs.stripe.com/payment-links.md), you can enable bank debits directly from the Dashboard with no integration work. | Payment method | [Connect](https://docs.stripe.com/connect.md) | [Checkout](https://docs.stripe.com/payments/checkout.md) | [Payment Links](https://docs.stripe.com/payment-links.md) | [Payment Element](https://docs.stripe.com/payments/payment-element.md) | [Express Checkout Element](https://docs.stripe.com/elements/express-checkout-element.md) | [Mobile Payment Element](https://docs.stripe.com/payments/mobile.md) | [Subscriptions](https://docs.stripe.com/subscriptions.md) | [Invoicing](https://docs.stripe.com/invoicing.md) | [Customer Portal](https://docs.stripe.com/customer-management.md) | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- | -------------------------------------------------------- | --------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | -------------------------------------------------------------------- | --------------------------------------------------------- | ------------------------------------------------- | ----------------------------------------------------------------- | | [Instant Bank Payments](https://docs.stripe.com/payments/link/instant-bank-payments.md) or [ACH Direct Debit](https://docs.stripe.com/payments/ach-direct-debit.md) | Supported | Supported | Supported | Supported | Unsupported | Supported | Supported | Supported | Supported | | [Bacs Direct Debit](https://docs.stripe.com/payments/payment-methods/bacs-debit.md) | Supported | Supported | Supported | Supported | Unsupported | Supported | Supported 1 | Supported | Supported | | [Australia BECS Direct Debit](https://docs.stripe.com/payments/au-becs-debit.md) | Supported | Supported | Supported | Supported | Unsupported | Supported | Supported | Supported | Supported | | [New Zealand BECS Direct Debit](https://docs.stripe.com/payments/nz-bank-account.md) | Supported | Supported | Supported | Supported | Unsupported | Supported | Supported | Supported | Supported | | [Pre-authorized debit in Canada](https://docs.stripe.com/payments/acss-debit.md) | Supported | Supported 2 | Unsupported | Supported 3, 4 | Unsupported | Unsupported | Supported | Supported | Supported | | [SEPA Direct Debit](https://docs.stripe.com/payments/sepa-debit.md) | Supported | Supported | Supported | Supported | Unsupported | Supported | Supported | Supported | Supported | 1 You can’t use the Payment Element to create SetupIntents for Bacs Direct Debit. Use Checkout in [setup mode](https://docs.stripe.com/payments/save-and-reuse.md?platform=checkout) instead.\ 2 Not supported when using Checkout in subscription mode.\ 3 Supports ACSS debit if you [create a PaymentIntent before rendering the Payment Element](https://docs.stripe.com/payments/accept-a-payment-deferred.md).\ 4 Not supported when using [Elements with the Checkout Session API](https://docs.stripe.com/checkout/custom/quickstart.md). [Contact us](https://support.stripe.com/contact) to request a new bank debit method. ## API support | Payment method | API enum | [PaymentIntents](https://docs.stripe.com/payments/payment-intents.md) | [SetupIntents](https://docs.stripe.com/payments/setup-intents.md) | [Manual capture](https://docs.stripe.com/payments/place-a-hold-on-a-payment-method.md) | [Setup future usage](https://docs.stripe.com/payments/save-during-payment.md?platform=web&ui=elements)1 | Requires redirect2 | | ------------------------------------------------------------------------------------ | ----------------- | --------------------------------------------------------------------- | ----------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------ | | [ACH Direct Debit](https://docs.stripe.com/payments/ach-direct-debit.md) | `us_bank_account` | Supported | Supported | Unsupported | Supported | No | | [Bacs Direct debit](https://docs.stripe.com/payments/payment-methods/bacs-debit.md) | `bacs_debit` | Supported 3 | Unsupported4 | Unsupported | Supported | No | | [Australia BECS Direct Debit](https://docs.stripe.com/payments/au-becs-debit.md) | `au_becs_debit` | Supported | Supported | Unsupported | Supported | No | | [New Zealand BECS Direct Debit](https://docs.stripe.com/payments/nz-bank-account.md) | `nz_bank_account` | Supported | Supported | Unsupported | Supported | No | | [Pre-authorized debit in Canada](https://docs.stripe.com/payments/acss-debit.md) | `acss_debit` | Supported | Supported | Unsupported | Supported | No | | [SEPA debit](https://docs.stripe.com/payments/sepa-debit.md) | `sepa_debit` | Supported | Supported | Unsupported | Supported | No | 1 Cards and bank debit methods including SEPA debit, AU BECS direct debit, and ACSS debit support both `on_session` and `off_session` with [setup future usage](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-setup_future_usage). All other payment method types either don’t support `setup_future_usage` or only support `off_session`.\ 2 Payment methods might require confirmation with [return_url](https://docs.stripe.com/api/payment_intents/confirm.md#confirm_payment_intent-return_url) to indicate where Stripe should redirect your customer after they complete the payment.\ 3 PaymentIntents support confirmation with Bacs Direct Debit payment methods when the [Mandate](https://docs.stripe.com/api/mandates.md) has been collected by a Stripe-owned flow such as [Checkout](https://docs.stripe.com/payments/checkout.md), [Payment Element](https://docs.stripe.com/payments/payment-element.md), and [Payment Links](https://docs.stripe.com/payment-links.md).\ 4 You can create SetupIntents for Bacs Direct Debit through [Checkout](https://docs.stripe.com/payments/checkout.md) using [setup mode](https://docs.stripe.com/payments/save-and-reuse.md?platform=checkout). ## Migrating from the Sources, Tokens, or Charges APIs If your current bank debit integration uses the Sources, Tokens, or Bank Accounts API, we recommend following the appropriate migration guide to transition to *Payment Intents API*: * [ACH migration guide](https://docs.stripe.com/payments/ach-direct-debit/migrating-from-charges.md) * For all other bank debit payment methods, follow the general [migration guide](https://docs.stripe.com/payments/payment-intents/migration.md)