ACH/ECP

ACH (Automated Clearing House), sometimes referred to as electronic check processing, e-Check, or ECP, is an alternative to credit card payments. It is an online payment method where money is electronically withdrawn from your shopper’s bank account and then deposited into the merchant’s own bank account.

ACH/ECP transactions are monitored by our built-in fraud prevention capabilities, just like credit card transactions. This payment method is supported for US transactions.

Benefits

  • Boost your sales by reaching additional shoppers who do not use credit cards or other payment methods.
  • Eliminate the need for paper checks and instead enable customers to provide their payment info online.
  • Store shopper account information for easier repeat purchases.
  • Enjoy transaction costs that are typically lower than credit card transactions.
  • Reduce issues with failed payments due to failed or invalid cards, since checking accounts do not have an expiration date, and your shoppers rarely switch banks.
  • Solution for B2B transactions and other payments for high-cost items where a credit card limit could be exceeded.
  • Account validation ensures your shopper's bank account exists and is in good standing before we send the transaction for processing.

Settlement Timing

An ACH transaction must undergo an approval process before it is settled. The approval timeline is determined by the settlement timing and the cutoff time.

  • Settlement timing is the length of time from when an ACH transaction is initiated to when it is approved. BlueSnap's standard settlement type is T+3, which means the settlement timing is the day that the transaction is initiated plus three business days.
  • The cutoff time is a deadline that determines whether BlueSnap submits the transaction to the bank on the current or next business day. BlueSnap's cutoff time is 6PM PST.

For example, if your shopper initiates a transaction at 5PM PST on Monday, then BlueSnap submits the payment to the shopper's bank on Monday. Because the settlement timing is T+3, the transaction is approved by Thursday. If your shopper initiates a transaction at 7PM PST on Monday, then BlueSnap does not submit the transaction to the shopper's bank until the following business day (Tuesday). The T+3 settlement timing means that the transaction is approved by Friday.

Account Validation and Processing Flow

These are the main steps involved in processing ACH transactions:

  1. The merchant receives the shopper’s authorization for the ACH entry by entering their bank information and authorizing the debit on the checkout page.

  2. When the shopper clicks Next, the transaction is placed and BlueSnap verifies that the shopper's bank account and routing numbers are valid.

    • If the bank account is valid, BlueSnap creates an invoice in PENDING status, sends the transaction to the shopper's bank for processing, and sends a Charge Pending webhook.
    • If the bank account is invalid or is not in good standing, an error message is displayed to your shopper and the transaction is not sent for processing.
  3. Within 3 days, the bank will notify BlueSnap if the payment was rejected. If BlueSnap does not receive the notification within this timeframe, the invoice will be approved.

    • If the transaction is approved, the shopper's account is debited for the transaction amount and BlueSnap sends a Charge webhook. We recommend delivering your product only after you receive the approval.
    • If the transaction is rejected, the shopper's account is not debited and BlueSnap sends a Decline webhook. Payments can be rejected for a variety of reasons, including insufficient funds. To resolve a payment rejection, you can provide an alternative payment method and resubmit the charge.
  4. BlueSnap updates the invoice status to reflect whether it was approved (SUCCESS) or rejected (FAIL).

  5. The shopper has 60 days to dispute the debit on their account. If this occurs, BlueSnap will remove the funds from your account and send a Refund webhook, and the invoice status will change to REFUNDED. Please note that some banks might allow a longer timeframe for reversals.

📘

Note: BlueSnap Declines

We have improved our validation, making it stricter and more comprehensive. With these validations in place, there is less of a chance of rejection from the banks. You might get higher decline rates from BlueSnap, but keep in mind that these declines act as protection from a rejection fee, since the transaction likely would have been declined by the bank.

BlueSnap Checkout and API Integrations

ACH/ECP transactions are supported in all of BlueSnap's integrations.

To process ACH transactions, make sure that you enable this payment method as described in Enabling Payment Methods.

If you are using BlueSnap Checkout, the ACH payment option automatically appears to shoppers in the US once it has been enabled.

If you are using BlueSnap's API, refer to the API Guide for ACH.

Subscriptions

BlueSnap supports subscriptions with ACH. Please note that subscriptions with ACH do not support the following:

  • Plans with a billing frequency of daily or weekly
  • Trial periods
  • Automated retries in BlueSnap's Subscription engine
  • On-demand $0 transactions

Refunds

Refunds can be processed only after your shopper's account has been debited and the invoice status has changed to approved. Please note that if you request a refund while the invoice is pending (before your shopper's account has been debited), you will receive an error message informing you the transaction has not yet been settled.

If a refund is requested after your shopper's account has been debited, BlueSnap will remove the funds from your account and the invoice status will update to refunded.

You can issue a refund through the Merchant Portal or the Payment API. For details, see Issuing a Refund.

Sandbox Testing

You may use the following bank credentials to test various scenarios.

Simulate format validation error
Account number: 123456789
Routing number: 123456789


Simulate declined transaction*
Account number: 123456789
Routing number: 987654321


Simulate approved transaction*
Account number: 223344556
Routing number: 998877665

*After the initial transaction request, the status changes within 15 minutes.

Return Codes

❗️

Important

To comply with NACHA regulations, starting on June 21, 2026 the system will deactivate the ACH accounts of transactions that result in R02, R03, R04, R05, R07, R10, or R29 return codes and cancel any subscriptions associated with that account.

If you receive a webhook message that contains any of those return codes:

  • The shopper will need to resolve the issue with their bank before attempting a new transaction.
  • The shopper will not be able to use the same ACH account for future transactions without re-entering their account details.
  • Any active subscriptions linked to this ACH account will be canceled or otherwise prevented from further billing attempts.
  • If the shopper initiates a new transaction using the same account and routing number, it will be treated as a new account.

A transaction may be returned or reversed by a bank for various reasons. The following is a list of ACH return codes, or reasons for reversal. These codes will be indicated in the reason field (such as cancelReason, declineReason, or reversalReason) of relevant webhooks for refunds, chargebacks, cancellations, and declines.

CodeNameAction
R01Insufficient FundsRetry no more than two times as a new transaction within 30 days of the original authorization date.
R02Account ClosedDo not retry. The system will deactivate this ACH account. Contact the customer to resolve the issue with their bank before creating a new transaction and re-entering their account information.
R03No Account/Unable to Locate Account
(Account number does not correspond to the individual identified in the entry)
Do not retry. The system will deactivate this ACH account. Contact the customer to resolve the issue with their bank before creating a new transaction and re-entering their account information.
R04Invalid Account NumberDo not retry. The system will deactivate this ACH account. Contact the customer to resolve the issue with their bank before creating a new transaction and re-entering their account information.
R05Unauthorized Debit EntryDo not retry. The system will deactivate this ACH account. Contact the customer to resolve the issue with their bank before creating a new transaction and re-entering their account information.
R06Returned per ODFI’s (originator) RequestDo not retry. Contact the customer to resolve the issue.
R07Authorization Revoked by CustomerDo not retry. The system will deactivate this ACH account. Contact the customer to resolve the issue with their bank before creating a new transaction and re-entering their account information.
R08Payment StoppedRequires customer's authorization to retry.
R09Uncollected FundsRetry no more than two times as a new transaction within 30 days of the original authorization date.
R10Originator is Not Known to Receiver/Originator is Not Authorized to Debit Receiver’s AccountThe system will deactivate this ACH account. Contact the customer to resolve the issue with their bank before creating a new transaction and re-entering their account information.
R11Entry Not in Accordance with the Terms of the AuthorizationContact the customer to correct the information and submit a new entry without needing a new authorization.
R12Branch SoldDo not retry. Contact the customer for another form of payment or different bank account information.
R13Invalid ACH Routing NumberDo not retry. Contact the customer to confirm their routing number.
R14Representative Payee Deceased or Unable to Continue in that CapacityDo not retry.
R15Beneficiary of Account Holder DeceasedDo not retry.
R16Account FrozenAccount must be unfrozen before retrying. Otherwise, use another form of payment or different bank account information.
R20Non-Transaction AccountDo not retry. Contact the customer for another form of payment or different bank account information.
R28Routing Number Check Digital ErrorDo not retry. Contact the customer to confirm their routing number.
R29Corporate Customer Advises Not AuthorizedDo not retry. The system will deactivate this ACH account. Contact the customer to resolve the issue with their bank before creating a new transaction and re-entering their account information.
R31Permissible Return EntryDo not retry. Contact the customer for another form of payment or different bank account information.
R34Limited Participation DFIDo not retry. Contact the customer for another form of payment or different bank account information.