ACH Credit Transfer via Stripe 


Offline payment methods, majorly bank & wire transfers (also called as Push payments) are used by SMBs and Enterprise businesses alike.
When customers pay offline, the transaction details are not sufficient to update the due invoices,

  • either the payment amount changes due to foreign exchange rate conversion involved in multi currency payments or
  • reference details or payment instructions do not reach when you receive the payment

So there is a lot of manual effort involved in reconciling payments with due invoices.
With Stripe's ACH Credit Transfer feature , Chargebee updates payment due invoices (offline) accurately and removes the effort required to search and update due invoices.

What is the feature all about? 

  • Chargebee auto-generates a virtual bank account for each of your customers via Stripe
  • The virtual bank accounts details are mentioned in the invoice (payment instructions) sent to your customers
  • Customers can transfer the amount to this virtual bank account
  • Chargebee receives the payment info from Stripe and reconciles the invoices (unpaid invoices are marked as paid automatically).
  • Refer Stripe's pricing details  for accepting payments via ACH Credit Transfer.
  • Available for Stripe Payment Gateway only.
  • Applicable for merchants and end customers in US paying in USD only.
  • If you have multiple Stripe accounts, this method can be enabled for one of the Stripe accounts only.
  • This method cannot be a primary or backup payment method.
  • To use this method, Email address and Billing Country should be captured mandatorily. If you are using Chargebee's Checkout, mark this field as mandatory in your site's Checkout settings. If you are using Chargebee's API, you should make the fields mandatory in your checkout page.
  • Refunds are not supported via Chargebee

Configure ACH Credit Payment Method 

Here's the list of steps to be done to setup and accept payments via Stripe ACH Credit Transfer:

1. Enable ACH Credit Transfer 

You can enable the Stripe ACH Credit Transfer option in the Stripe Gateway settings page.
Navigate to Settings > Configure Chargebee > Payment Gateways > select a Stripe Account or create a new Stripe Account > Enable ACH Credit Transfer

2. Reconcile Payments to Invoices 

Select how you'd like to apply the payment to customers payment due invoice. You can either apply it automatically or manually. When a customer chooses to apply manually, he can select the invoices for which he wants to apply the credits. Selecting Automatically applies the credits in the order of precedence (old to new).

3. Setup webhooks in Stripe 

You must configure webhooks in Stripe for Chargebee to receive the payment notifications (when customers make payments).
You can copy the webhooks URL from the gateway settings page and paste it in your Stripe account at Your account > Account settings > Webhooks > Add endpoint > Account.

Review Payment Instructions 

Chargebee will automatically create a Payment instruction to display the Virtual Bank account details in your invoices. You can review and edit them if required.
Navigate to Settings > Configure Chargebee > Customize Invoice > Payment Instructions > ACH Credit and review the Virtual Bank Account Details.

Learn more about Payment instructions here.

Virtual Bank Account 

A virtual bank account is a unique account number which is generated so you don't need to share your sensitive bank account details with your users. A virtual bank account can be paid with ACH credit or wire transfer. Users can make payment of the amount due to this account, and the amount will be matched with the invoice.

  • Stripe creates a virtual bank account (linked to your bank account) for each of your customers using your customer's email address
  • Customers will receive account details instead of their actual bank account details.
  • Customers can transfer the payment to this virtual bank account.
  • This eases the process of reconciliation in Chargebee.

Chargebee auto-generates virtual bank accounts in Stripe when there is a Payment Due, Posted, Not Paid invoice is created for a customer.

When customers are created, ‘Email' and ‘Country' attributes will be mandatory.
Email address is linked to the customer and used to create a Virtual bank account.
The country field is not mandated by Stripe, but Stripe has made this feature applicable for US customers, so we make sure that we generate virtual bank accounts only if the customer is from the US.


Stripe informs Chargebee when the customer deposits funds to the virtual bank account. This fund is applied to any unpaid invoices when a transaction is created. If there are no unpaid invoices, the money gets added to the balance account of the customer.

Reconciling Invoices and Payments 

  1. A customer from US makes a transaction in USD gets a virtual bank account automatically created.
  2. Once customers receive the invoices with virtual bank account details, they will transfer the payment to this bank account.
  3. Payment is processed and Chargebee will receive the payment notification from Stripe (via webhooks).
  4. Merchants can choose the invoice to which they wish to make the payment. If they have selected a manual mode in the settings, they can select the Invoice and make the payment. If they have selected Automatic, then Chargebee will apply the payments to all the due invoices, going by the invoice that was generated first.

Disable ACH Credit Payment Method 

You can disable ACH Credit Transfer in the Gateway settings page.

  1. Go to gateway settings page and disable
  2. Chargebee will remove the payment instructions automatically
  3. Once disabled, Chargebee won't add the virtual bank account details (already created for the customers) in the invoices
  4. Chargebee will not create virtual bank accounts for new customers created subsequently as well
  5. If a customer still transfers a payment (or has already initiated a transfer) Chargebee will reconcile the invoice


1) How to refund an ACH Credit transfer payment?

ACH Credit transfer payment cannot be refunded via Chargebee. You should process the refund via Stripe or manually. Read more about the process and implications here .

2) What happens if customer transfers the money even after virtual bank account is disabled or deleted?

When you remove the ACH Credit transfer payment method, Chargebee will not show the payment instruction in the subsequent invoices. If customers have transferred the amount to that virtual bank account, Stripe will refund the amount to the customer.

3) What if the customer transfers an amount which does not match the invoice due amount?

If the amount is less, a partial payment will be recorded against the invoice.
If the amount exceeds, the additional amount will be stored as excess payment for the customer.

4) What will happen if an invoice is in dunning and the dunning attempt succeeded and the customer has transferred the amount as well?

The additional amount will be marked as excess payment at the customer level.

5) Can I create or retrieve a Virtual Bank Account via API?

You can use Chargebee's virtual bank account API  to manage the accounts.

Was this article helpful?