ACH Direct Debit (2024)

ACH lets you accept payments from customers with a US bank account. ACH Direct Debit is a reusable, delayed notification payment method. It can take up to 4 business days to receive acknowledgement of success or failure. Because ACH Direct Debit isn’t a guaranteed payment method, there’s a risk of failed payments and disputes.

Accepting bank accounts is slightly different from accepting cards:

  1. Your customer must authorize the payment terms.
  2. Bank accounts must be verified.

  • Customer locations

    US

  • Presentment currency

    USD

  • Payment confirmation

    Business-initiated

  • Payment method family

    Bank debit

  • Recurring payments

    Yes

  • Payout timing

    2-5 days

  • Connect support

    Yes

  • Dispute support

    Yes

  • Refunds / Partial refunds

    Yes / yes

Payment flow ACH Direct Debit (1)

ACH Direct Debit (3)

The customer signs into their bank account to provide account information.

ACH Direct Debit (4)

The merchant presents the mandate. The customer accepts it by completing the purchase.

ACH Direct Debit (5)

The customer is notified when payment is complete.

Get started ACH Direct Debit (6)

If ACH is all you want, learn how to accept a payment with ACH. Below are options to skip writing that code.

Dynamic payment methodsACH Direct Debit (7)

You don’t actually have to integrate ACH Direct Debit and other payment methods individually. If you use our front-end products, Stripe automatically determines the most relevant payment methods to display. Follow a quickstart for one of our hosted UIs:

  • Checkout: Our prebuilt, hosted checkout page.
  • Elements: Our drop-in UI components.

After setting up your payment form, activate the payment methods you want using the Stripe Dashboard.

Other payment productsACH Direct Debit (8)

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

Manually add each payment methodACH Direct Debit (9)

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

TimingACH Direct Debit (10)

With ACH Direct Debit, it can take time for funds to become available in your Stripe balance. The amount of time it takes for funds to become available is referred to as the settlement timing. The following tables describe the settlement timings for ACH Direct Debit payments that Stripe offers.

Initial payments made from select bank accounts that use temporary account numbers with Financial Connections might be subject to settlement delays.

Settlement typeTimingCutoff timeAdditional information
Standard settlement (T+4)4 business days from payment creation

21:00 US/Eastern

After ACH Direct Debit payments settle to your Stripe account balance, we make payouts to your bank account according to your set payout schedule.
Faster settlement (T+2)2 business days from payment creation

14:00 US/Eastern

This option is available only to eligible US users. You can check your eligibility and activate this option on the Payment methods settings. For more information on faster settlement, see the Support page.

ACH Direct Debit (11)

A diagram showing the two settlement timings for ACH Direct Debit: standard (4 days) and faster (2 days).

For information on how to cancel payments, see Refund and cancel payments.

ACH transaction failuresACH Direct Debit (12)

ACH Direct Debit transactions can fail any time after the payment is initiated through payment confirmation. These failures can occur for a number of reasons, such as:

  • Insufficient funds
  • An invalid account number
  • A customer disabling debits from their bank account

If a payment fails after funds have been made available in your Stripe balance, Stripe immediately removes funds from your Stripe account.

In rare situations, Stripe might receive an ACH failure from the bank after a PaymentIntent has transitioned to succeeded. If this happens, Stripe creates a dispute with a reason of:

  • insufficient_funds
  • incorrect_account_details
  • bank_cannot_process

Stripe charges a failure fee in this situation.

VerificationACH Direct Debit (13)

Learn about validation and verification requirements.

Stripe lets your customers securely share their financial data by linking their financial accounts to your business. Use Financial Connections to access customer-permissioned financial data such as tokenized account and routing numbers, balance data, ownership details, and transaction data.

Your customers might enter their bank account manually instead of authenticating with Stripe Financial Connections. In these cases, Stripe provides a fully-hosted flow for collecting bank account details and verifies them with microdeposits.

When you use Stripe.js, our JavaScript library for building payment flows, Stripe provides a fully-hosted collection of bank account details, instant bank verification, and (if needed) delayed verification using microdeposits. This verification process is a requirement for many businesses, and it helps reduce payment failures and fraudulent activities.

ACH Mandates ACH Direct Debit (14)

ACH Direct Debit rules require that you first get authorization from a customer to take payments before you can debit their bank account. To obtain authorization, you present a mandate to them. This mandate specifies the terms for one-time or recurring payments. The customer must agree to this mandate before you can collect any payments from their bank account.

Types of mandatesACH Direct Debit (15)

There are two types of mandates: online and offline.

  • Online mandates: Appear as part of the payment flow on a website. Customers accept online mandates through a user interface element, such as clicking an Accept or Pay button, or by checking a box.

  • Offline mandates: Require that you present the specific terms of the transaction to your customer in writing or over the phone. The customer accepts those terms when they sign the paper or verbally agree to the terms over the phone. See the details on the offline mandate types Stripe supports.

Stripe displays an online mandate on the payment page for you if you use one of the following hosted products:

  • Checkout
  • Payment Element
  • Hosted Invoices Page

Mandates for online custom payment formsACH Direct Debit (16)

For custom payment forms that directly integrate with the Payment Intents API, you must display the mandate terms on your payment page before confirming the PaymentIntent or SetupIntent.

You only need to display a mandate the first time you collect a customer’s bank account.

Recommended mandate text (online)ACH Direct Debit (17)

We recommend that you use the following mandate text for your online custom payment form. This text must include the customer’s name, bank account information, and the date.

For details on displaying the correct business name for Connect users, see merchant of record and statement descriptors.

By clicking [accept], you authorize Rocket Rides to debit the bank account specified above for any amount owed for charges arising from your use of Rocket Rides’ services and/or purchase of products from Rocket Rides, pursuant to Rocket Rides’ website and terms, until this authorization is revoked. You may amend or cancel this authorization at any time by providing notice to Rocket Rides with 30 (thirty) days notice.

If you plan to use the customer’s bank account for future payments with the setup_future_usage parameter or by saving bank details for a future payment, also include:

If you use Rocket Rides’ services or purchase additional products periodically pursuant to Rocket Rides’ terms, you authorize Rocket Rides to debit your bank account periodically. Payments that fall outside of the regular debits authorized above will only be debited after your authorization is obtained.

Caution

If you originate recurring preauthorized debits, you must disclose to your customers how these amounts are calculated or a range the customer can anticipate. You must also give your customer at least 7 calendar days notice if you change the timing of any recurring preauthorized debits.

Mandate and microdeposit emails ACH Direct Debit (18)

By default, if your customer provides a billing email address, Stripe automatically emails your customer the following information:

  • Confirmation of the mandate, per Nacha requirements.
  • Notification if Stripe needs to use microdeposits to verify your customer’s bank account. These notification emails link to a hosted verification page.

Sending custom mandate notifications (online)ACH Direct Debit (19)

You can send custom mandate notifications to customers.

To send custom mandate notifications:

  1. Turn off Stripe emails in the Stripe Dashboard email settings
  2. Send a mandate confirmation email when you receive your customer’s bank account and mandate authorization.

In the email, include the following information:

  • Authorization date
  • Account holder name
  • Financial institution
  • Routing number
  • Last four digits of the account number

The following is a sample mandate confirmation email that you can send.

Agreement DateJune 28, 2021
Account Holder NameJenny Rosen
Financial InstitutionChase Bank
Routing Number021000021
Account Number****6789
Thank you for signing up for direct debits from Rocket Rides. You have authorized Rocket Rides to debit the bank account specified above for any amount owed for charges arising from your use of Rocket Rides’ services and/or purchase of products from Rocket Rides, pursuant to Rocket Rides’ website and terms, until this authorization is revoked. You may amend or cancel this authorization at any time by providing notice to Rocket Rides with 30 (thirty) days notice.

If you collected the customer’s bank account for future payments with the setup_future_usage parameter or by saving bank details, also include:

You have authorized Rocket Rides to debit your bank account periodically if and when you use Rocket Rides’ services or purchase more than one of Rocket Rides’ products periodically pursuant to Rocket Rides’ terms. Payments that fall outside of the regular debits authorized above will only be debited after your authorization is obtained.

Caution

If you choose to send custom emails, you also need to send microdeposit reminder emails. For detailed instructions, see Custom microdeposit email and verification page.

ACH disputes ACH Direct Debit (20)

ACH Direct Debit provides a dispute process for bank account holders to dispute payments. Customers can generally dispute a payment through their bank for up to 60 calendar days after a debit on a personal account, or up to 2 business days for a business account. In rare instances, a debit payment can be successfully disputed outside these timelines. This is called a late return. The late return process is primarily managed by and ultimately decided at the discretion of the banks involved in the transaction.

When a dispute is created, Stripe sends both the charge.dispute.created and charge.dispute.closed webhook events and deducts the amount of the dispute and associated dispute fee from your Stripe balance.

Unlike credit card disputes, all ACH Direct Debit disputes are final and there is no process for appeal. If a customer successfully disputes a payment, you must contact them if you want to resolve the situation.

Caution

If you proactively issue your customer a refund while the customer’s bank also initiates the dispute process, your customer might receive two credits for the same transaction. Follow the guidelines in the following section on refunds to avoid this situation.

Resolving disputesACH Direct Debit (21)

When a customer disputes an ACH Direct Debit payment, it invalidates the mandate associated with the payment method and you can’t reuse it. To attempt a charge again, you must resolve the dispute with the customer and collect a new mandate authorization.

If they dispute a subsequent payment, Stripe blocks the bank account from further re-use. To learn more about resolution steps, see Blocked bank accounts.

ACH refundsACH Direct Debit (22)

You have a maximum of 180 days from the date of the original payment to submit a refund for an ACH Direct Debit payment. Refunds require at least 3 business days to process.

Avoid disputes

If you accidentally debit your customer, contact them immediately to avoid a payment dispute. Factors such as slightly longer settlement time periods and the way banks process ACH Direct Debit transactions can cause confusion between you, your customer, your customer’s bank, and Stripe. For example, your customer might contact both you and their bank to dispute a payment. If you proactively issue your customer a refund while the customer’s bank also initiates the dispute process, your customer might receive two credits for the same transaction, so it’s important to communicate with your customer about the processing time and the status of their refund.

If you request a refund for a payment that hasn’t completed yet (within a few hours of creating the Payment Intent), Stripe doesn’t submit the charge to the bank, essentially canceling the original payment rather than refunding it.

Stripe doesn’t explicitly label ACH Direct Debit refunds as refunds when we deposit the funds back to a customer’s bank account. Instead, we process refunds as a credit and include a reference to the statement descriptor for the original payment.

Statement descriptors for ACHACH Direct Debit (23)

Every ACH Direct Debit payment shows up on customers’ bank statements with the name of the merchant. For payments created with Stripe, the name of the merchant is your Stripe account’s statement descriptor. You can override this default behavior for every transaction independently by using a dynamic statement descriptor. To do so, specify the statement_descriptor parameter when creating the PaymentIntent.

Caution

Your statement descriptor truncates to the first 16 alphanumeric characters on the bank statement. For example, if your statement descriptor is ROCKETRIDESLIMITED, the customer sees ROCKETRIDESLIMIT.

Additionally, statement descriptors cannot use the special characters <, >, ', or ".

The table below illustrates the merchant name behavior you can expect on the customer’s bank statement:

Default statement descriptorDynamic statement descriptorMerchant nameBank statement descriptor
Rocket RidesUnspecifiedRocket RidesRocket Rides
Rocket RidesSunday RideRocket RidesSunday Ride

Each bank formats these fields differently. Depending on your customer’s bank, some fields may appear in all lowercase or uppercase.

Connect and ACHACH Direct Debit (24)

If you use Connect, you must take the following into consideration before you enable and use ACH Direct Debits.

Request ACH Debit capabilities for your connected accountsACH Direct Debit (25)

Set the us_bank_account_ach_payments capability to active on your platform account, and for any connected accounts you want to enable for ACH debits. You can also request more account capabilities.

Merchant of record and statement descriptors ACH Direct Debit (26)

The charge type of Connect payments might change the default statement descriptor and the merchant name that appears on the customer’s bank statement. The charge type can also change:

  • The merchant of record shown on the mandate
  • The merchant shown on confirmation emails
  • The merchant shown on microdeposit reminder emails

The merchant of record determines the Stripe account authorized to create payments with a particular PaymentMethod. To learn more about sharing this authorization across multiple connected accounts, see PaymentMethod and Mandate cloning.

Charge typeDescriptor taken from
DirectConnected Account
DestinationPlatform
Separate charge and transferPlatform
Destination (with on_behalf_of)Connected Account
Separate charge and transfer (with on_behalf_of)Connected Account

PaymentMethod and mandate cloning ACH Direct Debit (27)

You can collect customer bank accounts on the platform account and clone ACH Direct debit payment methods. Cloning these methods allows you to save customer bank accounts for later use on connected accounts. When you clone ACH Direct Debit payment methods, Stripe duplicates the mandate authorization to the connected account, but we don’t send any new mandate confirmation emails.

Caution

You can’t use a mandate authorized for a PaymentIntent or SetupIntent on_behalf_of of a connected account with a different connected account.

When collecting a bank account that you intend to clone to connected accounts, you must communicate to the customer that their authorization extends to connected accounts on your platform. For example, you can communicate this message to a customer through the mandate terms. Failure to communicate this message to your customers could result in customer confusion and increase the risk of disputed payments.

Testing ACHACH Direct Debit (28)

Learn how to test scenarios with instant verifications using Financial Connections.

Send transaction emails in test modeACH Direct Debit (29)

After you collect the bank account details and accept a mandate, send the mandate confirmation and microdeposit verification emails in test mode. To do this, provide an email in the payment_method_data.billing_details[email] field in the form of {any-prefix}+test_email@{any_domain} when you collect the payment method details.

Common mistake

You need to activate your Stripe account before you can trigger these emails in Test mode.

Test account numbersACH Direct Debit (30)

Stripe provides several test account numbers and corresponding tokens you can use to make sure your integration for manually-entered bank accounts is ready for production.

Account numberTokenRouting numberBehavior
000123456789pm_usBankAccount_success110000000The payment succeeds.
000111111113pm_usBankAccount_accountClosed110000000The payment fails because the account is closed.
000111111116pm_usBankAccount_noAccount110000000The payment fails because no account is found.
000222222227pm_usBankAccount_insufficientFunds110000000The payment fails due to insufficient funds.
000333333335pm_usBankAccount_debitNotAuthorized110000000The payment fails because debits aren’t authorized.
000444444440pm_usBankAccount_invalidCurrency110000000The payment fails due to invalid currency.
000666666661pm_usBankAccount_failMicrodeposits110000000The payment fails to send microdeposits.
000555555559pm_usBankAccount_dispute110000000The payment triggers a dispute.
000000000009pm_usBankAccount_processing110000000The payment stays in processing indefinitely. Useful for testing PaymentIntent cancellation.

Before test transactions can complete, you need to verify all test accounts that automatically succeed or fail the payment. To do so, use the test microdeposit amounts or descriptor codes below.

Test microdeposit amounts and descriptor codesACH Direct Debit (31)

To mimic different scenarios, use these microdeposit amounts or 0.01 descriptor code values.

Microdeposit values0.01 descriptor code valuesScenario
32 and 45SM11AASimulates verifying the account.
10 and 11SM33CCSimulates exceeding the number of allowed verification attempts.
40 and 41SM44DDSimulates a microdeposit timeout.
ACH Direct Debit (2024)

FAQs

ACH Direct Debit? ›

ACH Direct Debit is a reusable, delayed notification payment method. It can take up to 4 business days to receive acknowledgement of success or failure. Because ACH Direct Debit isn't a guaranteed payment method, there's a risk of failed payments and disputes.

What does ACH debit mean in banking? ›

An ACH debit is an electronic transfer from a bank account to another bank account. It is a form of direct debit and is typically used to pay bills, transfer funds, and make payments. ACH stands for Automated Clearing House, which is a network of financial institutions that process transactions.

What is the difference between ACH bank transfer and ACH direct debit? ›

The main difference between an ACH credit and an ACH debit is that an ACH credit transaction is initiated by the sender of funds (typically a bank), whereas an ACH debit transaction is initiated by the receiver of funds, where the bank receives a payment request by the payee, and then sends the funds per request.

What is the difference between a direct bill and an ACH payment? ›

An ACH transfer is an electronic, bank-to-bank money transfers processed through the Automated Clearing House Network. A direct deposits is a transfer into an account, such as payroll, benefits, and tax refund deposits. Direct payments involve money going out of an account, including bill payments.

What is the difference between a direct debit and a direct credit? ›

A direct debit is where the Company takes or pulls the exact amount of money owing from your nominated account at your bank on the due date. A direct credit is where you debit your account and push the amount of money to pay your bill directly into the service provider or company's bank account.

Why is ACH taking money out of my account? ›

Short for “Automated Clearing House,” ACH is an electronic network that handles payments between banks. If you've ever received direct deposit to your checking account from an employer, that's ACH deposit. If you've set up your utility bills to come right out of your account, that's an ACH withdrawal.

Who initiates an ACH debit? ›

The ACH transaction is initiated

ACH payments begin when the originator (payer)starts the process by requesting the transaction. The originator can be a consumer, business, or a government agency.

What is ACH direct payment? ›

ACH stands for Automated Clearing House, a U.S. financial network used for electronic payments and money transfers. Also known as “direct payments,” ACH payments are a way to transfer money from one bank account to another without using paper checks, credit card networks, wire transfers, or cash.

Is it better to pay with debit or ACH? ›

ACH transactions tend to carry lower fees, which adds up to considerable cost savings over time. For example, if a customer makes an ACH payment through PaySimple, it might cost $0.60 + . 1% per transaction. So if they paid you $500, the fee for the transfer would be $1.10.

What is an example of an ACH payment? ›

Direct deposits (an ACH credit often used for payroll) and automatic recurring payments (ACH debits for services like utilities) are common examples of ACH payments.

What are the disadvantages of ACH payments? ›

If you initiate a transfer after the scheduled time, you may experience delays. This could result in missing payment deadlines and paying penalty fees. It also means that ACH transfers may not be appropriate for emergency or time-sensitive transactions.

How do I avoid ACH payments? ›

To cancel a recurring ACH payment, you'll need to first contact the company you're paying and inform them that you're revoking their access to your account. You can do this over the phone, or you can write the company stating clearly that you are revoking authorization.

Is ACH payment safe? ›

Security. Another advantage ACH payments have is that they're more secure than wire transfers and card payments. This is because ACH payments must pass through clearinghouses that enforce strict regulations. Money is transferred directly between accounts, with account numbers kept confidential.

When should you not use Direct Debit? ›

Direct Debit: not for instant, high risk or high value transactions.

What are the disadvantages of Direct Debit? ›

While overall, this payment method is safe, secure, and convenient, there are potential disadvantages of Direct Debit to be aware of. You can be charged overdraft or late fees: If there are insufficient funds in the buyer's account, the Direct Debit might still go through with overdraft protection.

Can someone set up a Direct Debit without you knowing? ›

In some cases, a signature isn't required. So, essentially, it is possible for somebody to set up a fraudulent Direct Debit in your name without permission.

What does ACH mean on my checking account? ›

An ACH transaction is an electronic money transfer made between banks and credit unions across a network called the Automated Clearing House (ACH). ACH is used for all kinds of money transfers, including direct deposit of paychecks and monthly debits for routine payments.

What is the difference between a check and an ACH debit? ›

Using ACH payments can be significantly less expensive than paper checks. ACH payments don't require the same materials, time or resources as it takes to produce, mail and track paper checks. They can also be processed in large batches and even automated, which can help reduce overall costs and the risk of human error.

How long does an ACH debit take to clear? ›

ACH debits, such as bill pay or withdrawals, generally take 1-3 days to process, while ACH credits, such as direct deposits or vendor payments, generally take just one day to process. Same-day ACH, which typically requires an additional fee, processes the same business day.

Top Articles
Latest Posts
Article information

Author: Nathanial Hackett

Last Updated:

Views: 6063

Rating: 4.1 / 5 (52 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Nathanial Hackett

Birthday: 1997-10-09

Address: Apt. 935 264 Abshire Canyon, South Nerissachester, NM 01800

Phone: +9752624861224

Job: Forward Technology Assistant

Hobby: Listening to music, Shopping, Vacation, Baton twirling, Flower arranging, Blacksmithing, Do it yourself

Introduction: My name is Nathanial Hackett, I am a lovely, curious, smiling, lively, thoughtful, courageous, lively person who loves writing and wants to share my knowledge and understanding with you.