Payment Methods

ACH Direct Debitanchor

ACH, or Automated Clearing House, is a payment method that runs on banking networks 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.

Availabilityanchor

ACH Direct Debit is available for merchants who:

  • Are located in the United States
  • Transact in the US in USD
  • Are processing with Braintree Direct
  • Are in good standing (i.e. not on a chargeback program)
  • Can implement a custom client-side integration using our JavaScript v3 SDK
    • ACH is currently not available in our Drop-in UI

If you meet the criteria, contact us to enable ACH Direct Debit in your sandbox account.

Verification methodsanchor

For ACH Direct Debit, you're required to verify a bank account before collecting money from it. Verifications provide a way for you to check the validity of a bank account before attempting to process a transaction – helping you protect yourself against fraudulent or erroneous transactions.

Braintree offers 3 different verification methods. You can use just one, but we recommend implementing at least one backup method in case the first method fails.

Network checkanchor

Network check verifies your customer's bank account by requiring them to enter specific account information (e.g. routing number, account number) at checkout. While this verification method does provide instantaneous verification, it is not supported by all banks.

Micro-transfersanchor

Micro-transfers require your customer to first enter their bank account information (e.g. routing number, account number), and then confirm the amounts of two deposits we send to their provided account in a custom UI built by your developers. This verification process typically takes 2-3 business days and requires two separate actions from the customer.

While micro-transfers require additional developer work to build a UI for collecting the deposit amounts from your customers, they provide the most accurate bank verification method. To stay compliant with Nacha standards, we monitor forward and return volumes of all micro-transfers and set risk thresholds to alert you of any unusual activity. To reduce potential fraud risks such as spam, malware and botnet attacks, you should consider implementing advanced fraud prevention and anomaly detection solutions when building the UI.

Tokenized checkanchor

Tokenized check leverages a connection through a third-party provider, Plaid, to present customers with their bank login UI at checkout. This verification option allows your customer to enter their bank login credentials instead of providing their account and routing numbers to you. While this verification method does provide instantaneous verification, it is not supported by all banks.

Using tokenized check requires that you sign up and manage your own account with Plaid. Sign up on their website.

Independent checkanchor

If you'd like to manually manage verification, you can do so with independent check. There are two options:

  • Collect physically voided checks to verify the account
  • Use another third-party verification provider

While this verification option gives you the most flexibility, it can also be the riskiest. If your independent method doesn't accurately verify accounts, it may negatively impact your transaction approval rates in the long run.

Business versus personal bank accountsanchor

If you choose to verify bank accounts using the network check, micro-transfers, or independent check methods, one of the fields we require you to collect is the account ownership type, which can be either business or personal. While you can process transactions on both types of accounts, it's important to record the type for each account accurately. If you submit a transaction with the wrong account ownership type, the bank may decline the transaction request; this is commonly referred to as a return.

PayPal Company ID and Company Nameanchor

Another reason for a return may be that your customer has a debit block in place. If a transaction is returned for this reason, you'll be charged a return fee and will need to ask your customer to call their bank to get the debit block lifted from their bank account. Since ACH Direct Debit transactions are submitted to the ACH Network with the PayPal Company Name and Company ID in the NACHA file, they will need to provide their bank with the following Company IDs:

  • PAYPALMTCU
  • PAYPALMTBU

In addition, your customers may see "PAYPAL," "PAYPALMTCU," or "PAYPALMTBU" in the transaction descriptor in their statements.

Processinganchor

ACH is a batch-based system, meaning that transactions do not take place in real-time, and authorizations or captures do not exist as they do with credit card transactions. This makes it more difficult to verify whether funds will be available in the account at the time the transaction takes place. As a result, debit entries can be returned by the customer's bank for insufficient funds or a variety of other reasons. Because of this, the settlement and funding timeline is different from standard credit cards.

Settlement and funding timelineanchor

Before we disburse funds to your account, we wait for 3 business days for any returns that the customer's bank sends through the ACH network. If we are notified in that timeframe that the transaction has been returned and can't be processed, the transaction is declined and the funds will not be disbursed. It will be up to you to follow-up with your customer for payment. If the transaction is not returned to us in 3 business days, we assume the transaction is valid and will disburse funds to your bank account which takes 2 additional business days, totaling 5 business days. Returns can be received after the 3 business day timeframe; in those cases, we deduct the amount from the next business day's disbursement.

note

We will disburse ACH funds together with your credit card transactions – you will only see one deposit that includes both credit card and ACH funds.

Transaction statusesanchor

  • Settlement Pending: The transaction was successfully submitted to the banking network
  • Failed: An error occurred when submitting the transaction
  • Settlement Declined: The transaction was returned by the banking network in the 3 business days timeframe and the funds will not be disbursed to you – a $5 USD fee will apply
  • Settled: The transaction was not returned in the 3 business day timeframe and the funds will be disbursed to you. In the event that we receive a return after a transaction has "settled," the status will remain "settled"

Here's a more detailed timeline for what the ACH transaction lifecycle looks like:

Day of transactionanchor
  • The transaction is processed and is immediately given the Settlement Pending status
1-2 business daysanchor
  • If the transaction hasn't been returned by the banking network, the transaction will remain in the Settlement Pending status
  • If the banking network returns the transaction, it will be moved to a Settlement Declined status, and you will be notified
3rd business dayanchor
  • If the transaction has not been returned by the end of the day, the transaction will be considered good and given the Settled status
  • If the transaction is returned, it will be moved to a Settlement Declined status
  • Regardless of the result, you will be notified of the status change on this day
4th business dayanchor
  • We disburse all Settled funds to your account
5th business dayanchor
  • Disbursed funds should be reflected in your bank account alongside any disbursed credit card transactions from that day

Feesanchor

Transactions processed with ACH have an additional processing fee, which can be found in your pricing agreement. A $5 USD fee will be charged for any returns or disputes.

Refunds and voidsanchor

ACH transactions can't be voided at any point in the transaction lifecycle. Refunds can be processed, but only on transactions with the Settled status.

If you'd like to cancel a transaction, you'll need to wait for the transaction to settle and then issue a refund. If you issue a full refund, we will return the fees from the original transaction.

Returnsanchor

ACH transactions can be returned for a variety of reasons. Although a majority of returns are received in 3 business days, returns can be received after disbursement. In those cases, we deduct the amount from the next business day's disbursement and will display the transaction with an ACH Return Code followed by Failed After Settlement in the Control Panel. Below is a list of common ACH return codes and associated descriptions for your reference. Please refer to NACHA http://www.nachaoperatingrulesonline.org/ for a more comprehensive list.

  • R01: Insufficient funds
  • R02: Account closed
  • R03: No account/unable to locate account
  • R07: Authorization revoked by customer
  • R08: Payment stopped
  • R10: Customer advises unauthorized, improper, ineligible, or part of an incomplete transaction

Disputesanchor

Customers have a specific window of time to report disputes to their bank for unauthorized transactions – commonly referred to as unauths. This window varies depending on the type of bank account they have.

  • Business bank accounts: 2 calendar days
  • Personal bank accounts: 60 calendar days

Disputes reported within the given time window are automatically awarded to the customer (in compliance with the Federal Reserve Regulation E) and require no action from you. A non-refundable $5 USD fee will be charged for each dispute for unauthorized transactions filed within the appropriate timeframe. We recommend working directly with the customer to resolve any disputes that you believe were made in error.

Disputes reported outside the given window are automatically lost by the customer, and the merchant will not be penalized.

Recurring billing and vaultinganchor

Bank accounts can be vaulted. However, Braintree's recurring billing currently does not support repeat payments with bank accounts.

Setupanchor

To add ACH Direct Debit to your Braintree integration, you'll need to update your application code and make sure ACH Direct Debit is enabled in your Control Panel. See our developer docs for full details.