Balance-checked ACH payments
Verify real-time bank account balances with validated ACH payments
When processing a payment with validated ACH, you can perform a real-time balance check before processing the payment. A balance check helps minimize the risk of the payin resulting in an ACH return for insufficient funds (R01). If the ACH bank account lacks sufficient funds, the payment will be declined immediately.
A balance check reduces the chance of an R01 ACH return, but it does not 100% guarantee the payin will not result in an ACH return. Unlike card payments where the funds are reserved at the time of processing, ACH funds are not reserved and it is still possible for the ACH payin to result in an ACH return.
Configure the merchant
In the Rainforest Sandbox and Production environments, Rainforest will need to enable this feature for your platform. Once you're ready to enable, reach out to [email protected] and Rainforest will help you with your merchant's billing profile setup and enabling balance checking for your merchants.
Set the ACH balance check fee
An ACH balance check fee is applied when processing a payment with a validated ACH payment method and the bank account balance is checked. ACH balance check fees can be passed onto the merchant via the merchant billing profile. See the billing merchants section for additional information on how the ACH balance check fee is billed to the merchant.
We can update the ACH balance check fee on an existing billing profile that currently has the ACH balance check fee set to $0. Or head over to the Rainforest Platform Portal to create a new billing profile with an ACH balance check fee.
Enable your platform
Reach out to [email protected]and Rainforest will enable your platform for balance checking. Once we've enabled the feature, the payin config must be configured to request the balance check when the user chooses to pay with a validated ACH payment method.
Enable balance-checked validated ACH
Configure the payin
The ACH balance check is configured by passing the ach_balance_check_mode
of ATTEMPT
on the create payin config request.
{
"merchant_id": "{{merchant_id}}",
"idempotency_key": "{{idempotency_key}}",
"amount": 10000,
"currency_code": "USD",
+ "ach_balance_check_mode": "ATTEMPT"
}
The ach_balance_check_mode
of ATTEMPT
tells Rainforest to confirm the user's bank account balance has sufficient funds to process the payment. When processing a payment through the Payment Component, the user must choose to pay with a validated ACH payment method in order to perform a balance check.
Balance check result
Processing
If the bank account has sufficient funds, the payin will be approved and the status will move to Processing
.
Failed
If the bank account has insufficient funds, the payin will be declined and the status will move to Failed
with a refusal_code
of INSUFFICIENT_FUNDS
.
Deposit timing
Balance-checked ACH payments have their own deposit timing, configured on the merchant and can be viewed in the Merchant details in the Rainforest Platform Portal.

Billing merchants
When performing a balance check on a validated ACH payment, there is a validated ACH balance check fee that can be passed onto the merchant via the merchant billing profile.
In the merchant's daily funding deposit, an adjustment will be included for all balance checks performed the day before with an 11pm daily cutoff.
For example, the merchant's deposit on February 26, 2025 would include an adjustment for the ACH balance checks performed between February 24th 11:00pm ET and February 25th 11:00pm ET.

Configure the Deposit Report Component to include the memo
column to provide the context of the billing adjustment to your merchant.
Updated about 18 hours ago