---
title: "ACH Direct Debit"
description: "Accept ACH Direct Debit payments with your online payments integration."
url: "https://docs.adyen.com/payment-methods/ach-direct-debit"
source_url: "https://docs.adyen.com/payment-methods/ach-direct-debit.md"
canonical: "https://docs.adyen.com/payment-methods/ach-direct-debit"
last_modified: "2026-06-01T15:33:15+02:00"
language: "en"
---

# ACH Direct Debit

Accept ACH Direct Debit payments with your online payments integration.

[View source](/payment-methods/ach-direct-debit.md)

![ACH logo](/user/pages/docs/08.payment-methods/05.ach-direct-debit/ach.svg?decoding=auto\&fetchpriority=auto)  **Read more**

Learn more about ACH Direct Debit on [adyen.com](https://www.adyen.com/payment-methods/ach-direct-debit).

[ACH Direct Debit](https://www.nacha.org/content/abcs-ach) is a popular payment method used in the United States and Puerto Rico as an alternative to credit and debit cards. The payments are processed through the Automated Clearing House (ACH), which is an electronic network for processing financial transactions.

To accept ACH Direct Debit payments, you must have a registered business entity in the United States.

Both one-off and recurring payments are supported by ACH. Due to the risk of [chargebacks](#chargebacks), we do not recommend using ACH Direct Debit for one-off payments.

The ACH network is unable to provide real-time authorizations. This means there is a risk of transactions being reversed if, for example, the bank account has insufficient funds. Additionally, consumers can dispute direct debit payments up to two years after the settlement date, claiming they did not authorize the payment or withdrew their authorization.

| Payment type | Payment flow | Countries | Currencies | [Recurring](/online-payments/tokenization)                   | [Refunds](/online-payments/refund)                           | [Partial refunds](/online-payments/refund/#refund-a-payment) | [Multiple partial refunds](/online-payments/refund)          | [Separate captures](/online-payments/capture)                | [Partial captures](/online-payments/capture/#partial-capture) | [Multiple partial captures](/online-payments/capture/#multiple-partial-captures) | [Chargebacks](/risk-management/chargeback-guidelines)        |
| ------------ | ------------ | --------- | ---------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------ |
| Direct Debit | Direct       | PR, US    | USD        | ![checkmark](/user/data/smileys/emoji/white_check_mark.png)  | ![checkmark](/user/data/smileys/emoji/white_check_mark.png)  | ![checkmark](/user/data/smileys/emoji/white_check_mark.png)  | ![checkmark](/user/data/smileys/emoji/white_check_mark.png)  | ![checkmark](/user/data/smileys/emoji/white_check_mark.png)  | ![x](/user/data/smileys/emoji/x.png)                          | ![x](/user/data/smileys/emoji/x.png)                                             | ![checkmark](/user/data/smileys/emoji/white_check_mark.png)  |

## Account validation

When accepting ACH Direct Debit payments from consumer accounts, [Nacha](https://www.nacha.org) requires bank account validation. We partner with giact to offer bank account validation. For instructions, see [Account validation with giact](/payment-methods/ach-direct-debit/verification-with-giact).

## ACH Company ID for B2B payments

An ACH Company ID identifies an entity like Adyen that collects payments through the ACH network. Unknown entities are often blocked when they collect payments from business accounts. The transaction will result in a chargeback with reason code **R29**, *Corporate customer advises not authorized*.

To prevent unnecessary chargebacks of business-to-business (B2B) transactions, ensure your business customers instruct their bank to add Adyen's ACH Company ID **8263863381** to the list of entities that are allowed to debit or credit their business account.

The Adyen ACH Company ID for payments is **8263863381**.

## SEC code

Nacha requires that all ACH payments include a Standard Entry Class (SEC) code. This code identifies the authorization type for the payment. You must use the correct SEC code for your ACH direct debit payments to avoid compliance issues and potential fines from Nacha.

We support the following SEC codes:

* **CCD** (Corporate Credit or Debit): Used for one-off or recurring payments from business accounts. This code applies to business-to-business transactions.
* **PPD** (Prearranged Payment or Deposit): Used for one-off or recurring payments from consumer accounts. This code applies to one-off or recurring payments from consumer accounts when the authorization is obtained in writing.
* **WEB** (Internet-Initiated/Mobile): Used for one-off or recurring payments from consumer accounts where authorization is obtained online or via a mobile device.

A mismatch between the SEC code and the account type (for example, using CCD for a consumer account) can lead to a chargeback.

For Components or Drop-In integrations, the SEC code is handled automatically. For API-only integrations, you need to [specify the SEC code](/payment-methods/ach-direct-debit/api-only#sec-code).

## Authorization from the customer

In addition to the SEC code requirement, Nacha requires that you have a mandate from the customer before initiating a one-off or recurring transaction. A mandate is an authorization form that specifies, among other things, the bank account; the type, frequency, and amount of the transaction; and information about how the customer can revoke the authorization. The customer must (electronically) sign the authorization. As an example, Nacha provides a [sample authorization form](https://www.nacha.org/resources/sample-direct-payment-authorization-form).

## Chargebacks

The ACH network is unable to provide real-time authorizations. This means that a payment can be reversed because of insufficient funds after the payment is authorized. Other reasons why ACH Direct Debit payments are reversed include:

* Business-to-business transactions can be reversed if your customer's business account does not have [Adyen's ACH Company ID](/payment-methods/ach-direct-debit#ach-company-id-for-b2b-payments) in their allowlist.
* Consumers can dispute direct debit payments up to two years after the settlement date, claiming they did not authorize the payment or withdrew their authorization.

If an ACH Direct Debit payment is reversed, your [Settlement details report](/reporting/settlement-detail-report) shows a credit and a corresponding debit, and you receive a [CHARGEBACK webhook](/risk-management/disputes-api/dispute-notifications#chargeback) with a `chargebackReasonCode`.

You cannot defend ACH Direct Debit chargebacks. Depending on the reason code, it may be allowed to retry the payment. For an overview of the chargeback process, reason codes, and how to test chargeback scenarios, see [ACH Direct Debit chargebacks](/risk-management/chargeback-guidelines/ach-chargebacks).

## Refunds

You can issue a refund for an ACH direct debit payment in the Customer Area or using the API when the payment has settled. To refund an ACH direct debit payment, you need to have the **Merchant allow bank-refund** role.

Note that Adyen delays ACH direct debit refunds for **three days** after a payment has settled. This delay helps prevent a scenario where you issue a refund for a transaction and then the customer also initiates a chargeback at around the same time. If you issue a refund and then a customer iniates a chargeback within this three-day period, the refund request is automatically canceled and you receive a [CHARGEBACK](https://docs.adyen.com/api-explorer/Webhooks/latest/post/CHARGEBACK) webhook.

## How do you want to integrate?

[![This is the web icon.](/user/pages/reuse/image-library/01.icons/web/web.svg?decoding=auto\&fetchpriority=auto)](/payment-methods/ach-direct-debit/web)

###### [Web](/payment-methods/ach-direct-debit/web)

[Use our pre-built UI solutions to add ACH Direct Debit to your website.](/payment-methods/ach-direct-debit/web)

[![This is the iOS icon.](/user/pages/reuse/image-library/01.icons/ios/ios.svg?decoding=auto\&fetchpriority=auto)](/payment-methods/ach-direct-debit/ios)

###### [iOS](/payment-methods/ach-direct-debit/ios)

[Use our pre-built UI solutions to add ACH Direct Debit to your iOS app.](/payment-methods/ach-direct-debit/ios)

[![This is the Android icon.](/user/pages/reuse/image-library/01.icons/android/android.svg?decoding=auto\&fetchpriority=auto)](/payment-methods/ach-direct-debit/android)

###### [Android](/payment-methods/ach-direct-debit/android)

[Use our pre-built UI solutions to add ACH Direct Debit to your Android app.](/payment-methods/ach-direct-debit/android)

[![This is the Flutter icon.](/user/pages/reuse/image-library/01.icons/flutter/flutter-logo.svg?decoding=auto\&fetchpriority=auto)](/payment-methods/ach-direct-debit/flutter)

###### [Flutter](/payment-methods/ach-direct-debit/flutter)

[Use our pre-built UI solutions to add ACH Direct Debit to your Flutter app.](/payment-methods/ach-direct-debit/flutter)

[![This is the API only icon.](/user/pages/reuse/image-library/01.icons/api-only/checkout-api-only.svg?decoding=auto\&fetchpriority=auto)](/payment-methods/ach-direct-debit/api-only)

###### [API only](/payment-methods/ach-direct-debit/api-only)

[Build your own UI for ACH Direct Debit in your website, iOS or Android app.](/payment-methods/ach-direct-debit/api-only)

[![This is the Pay by Link icon.](/user/pages/reuse/image-library/01.icons/pay-by-link/pay-by-link.svg?decoding=auto\&fetchpriority=auto)](/unified-commerce/pay-by-link)

###### [Pay by Link](/unified-commerce/pay-by-link)

[Use Pay by Link to accept ACH Direct Debit payments.](/unified-commerce/pay-by-link)

## See also

* [Online payments](/online-payments/)
* [3D Secure](/online-payments/3d-secure)
* [Capture](/online-payments/capture)
* [Payment methods](/payment-methods)
