ACH Direct Debit is a payment method that runs on the ACH (Automated Clearing House) network in the United States. It allows customers to pay for transactions by debiting directly from their bank account, as opposed to processing through a card brand.


ACH Direct Debit is available to eligible merchants who can implement a custom client-side integration using our JavaScript v3 SDK. It's currently not available in our Drop-in UI.

Using our JavaScript v3 client-side SDK along with any of our server-side SDKs, eligible merchants can accept payments from US bank accounts via the Automated Clearing House (ACH) network.

At a high level, accepting ACH payments consists of four concepts:

  • Tokenizing
  • Vaulting
  • Verifying
  • Transacting

Depending on how you wish to verify your customer's bank account, these concepts will overlap in different ways.


Tokenizing is the process of exchanging raw payment information for a secure, one-time-use token called a payment method nonce. For our ACH integration, there are two ways to tokenize:

Tokenizing without verification

You can tokenize a bank account by collecting a customer's bank details, including account and routing numbers. However, this will not verify the bank account, and the resulting nonce will not be transactable. Before you can create a transaction, you will need to use the nonce to vault the bank account and successfully verify it.

Tokenizing with verification

You can also tokenize a bank account using a customer's bank login. This simultaneously verifies the bank account and allows you to transact on the nonce. You are still free to vault this nonce for later use. Vaulting is required if you wish to perform additional verifications on this bank account.


Vaulting is the process of exchanging a one-time-use payment method nonce for a peristent payment method token. For our ACH integration, vaulting includes verification options:

Vaulting with verification

When vaulting a bank account, you can choose to specify a verification method. This creates a vaulted payment method and initiates a verification in a single step. If the verification fails, you can keep retrying verifications on the same payment method. A vaulted payment method will only be transactable once it has had a successful verification.

Vaulting without verification

You can also vault a bank account without specifying a verification method. This will vault the payment method as usual, but no verification will be attempted. As stated above, this payment method will not be transactable unless it originated from a nonce tokenized with verification, or until it has a subsequent successful verification.


Braintree’s ACH Direct Debit integration offers several methods for verifying that the customer owns the bank account they provide to you for payment:

  • Network check – instantly verifies the bank account details using bank account and routing number, as well as personal/business information
  • Tokenized check – this is the bank login referenced in the section above on tokenizing; using a third-party partner, Plaid, bank account ownership is instantly verified by prompting customers to log into their bank account during your checkout flow
  • Micro-transfers – issues two separate credits of less than a dollar each to the customer’s bank account and requires the customer to confirm the exact amounts once they’re visible in the account
  • Independent check – allows you to use your own verification method that’s not listed above and manually mark payment methods as verified

You can use any combination of these methods in order to meet your business needs. For example, one recommended flow is to use network check as an initial verification method with micro-transfers as a backup option.

For more details on ACH in general, all the verification methods, and the pros and cons of each, see our support article on ACH.

Next Page: Configuration →