Enable balance-checked validated ACH

Verify real-time bank account balances when processing payins with validated ACH payment methods

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.

You can implement balance checking in your Payment Component with three steps:

  • Enable balance checking and configure your merchants billing profiles
  • Configure the payin config to request the balance check
  • Configure the Deposit Report Component to show the billing details

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.


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 the payin 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.


Configure deposit report for billing


Balance checks do incur an additional billing fee when processing payins with a validated ACH payment method. If you're passing the fee onto the merchant, then the deposit will include a billing adjustment.


Configure the Deposit Report Component to include the memo column in the Deposit Details activity report to provide the context on the billing adjustment to your merchant.

<rainforest-deposit-report
    activity-columns='[
    {"name":"Created","type":"builtin","value":"created_at"},
    {"name":"Type","type":"builtin","value":"type"},
    {"name":"ID","type":"builtin","value":"id"},
    {"name":"Memo","type":"builtin","value":"memo"},
    {"name":"Customer","type":"builtin","value":"billing_contact_name"},
    {"name":"Method","type":"builtin","value":"payment_method"},
    {"name":"Amount","type":"builtin","value":"gross_amount"},
    {"name":"Fees","type":"builtin","value":"billing_fees_amount"},
    {"name":"Net","type":"builtin","value":"net_amount"}
]'
></rainforest-deposit-report>