How ACH Works
ACH (Automated Clearing House) is a bank-to-bank payment network operated by Nacha that moves funds electronically between U.S. financial institutions. Unlike card transactions, ACH payments are not authorized in real time. Transactions are submitted in batches throughout the day, processed overnight by the ACH network, and settled within 1-3 business days. ACH supports two directions of money movement:- Debit: Funds are pulled from a customer’s bank account into your merchant account. This is the most common flow for collecting payments.
- Credit: Funds are pushed from your merchant account into a recipient’s bank account. Typically used for refunds, payouts, or disbursements.
Bank Account Data
Two fields are required to tokenize a bank account. Additional fields can be included for record-keeping and statement clarity.Required
accountNumber: The number that identifies the specific account at the financial institution. Raw account numbers should never be stored in your system. Use tokenization instead.
routingNumber: A 9-digit number that identifies the financial institution. Routing numbers appear at the bottom-left of a paper check.
Optional
name: The name of the individual or business that owns the account. Included in the ACH transaction record transmitted to the network.
accountType: Indicates whether the account is checking (0) or savings (1).
checkNumber: The check number associated with the transaction, if applicable.
Tokenization
Before initiating an ACH transaction, tokenize the bank account details. Tokenization replaces the routing number and account number with a non-sensitive token that is safe to store and reuse. To tokenize a bank account, send the account details toPOST /v1/tokens using the check object. Only accountNumber and routingNumber are required:
Transaction Lifecycle
ACH transactions do not use an authorization and capture model. There is no real-time approval step and no hold placed on funds. When you submit an ACH transaction, it is queued for processing and settlement begins asynchronously.Submitting a Transaction
To initiate an ACH transaction, send a request toPOST /v1/transactions/sale with the token from the tokenization step and the desired amount.
transactionId that you use for all subsequent operations (void, refund, etc.).
Pending
Once submitted, the transaction enters apending state. ECRYPT batches ACH transactions and submits them to the ACH network on a regular processing schedule.
Settlement
After the batch is submitted to the network, settlement typically completes within 1-3 business days depending on the receiving bank and the time of submission. The transaction status changes frompending to settled once funds have transferred.
Because there is no real-time authorization, a submitted transaction does not guarantee that funds are available. Insufficient funds, closed accounts, and invalid account data are discovered only during settlement or in the form of a return.
Returns
A return occurs when the receiving bank rejects the transaction after it has been submitted. Returns are identified by a standardized R-code. Common return reasons include:
Returns can arrive up to 2 banking days after settlement for most codes. Unauthorized transaction claims (R05, R07, R10, R29) have an extended return window of up to 60 days for consumers.
ECRYPT delivers return notifications via webhook.
Managing Transactions
Once a transaction exists, the actions available to you depend on whether it has settled. All actions reference thetransactionId returned at submission.