Third Party Integrations

ACH Payments via Stripe

If you want to start accepting payments via ACH with Stripe, you've come to the right place! This document will help you configure your settings on the Chargebee web interface and the Stripe web interface so you can get your direct debit payments up and running ASAP.

Enabling this option is possible only if you have previously connected your Stripe account with Chargebee. Find out how to configure a Stripe account on Chargebee here.

Here's a screenshot for reference:

Configure the authorization agreement

The National Automated Clearing House Association (NACHA) and federal legislation mandate that you should have an Authorization Agreement with your customer to charge their bank account. When you enable a customer to pay via ACH, Chargebee displays an authorization agreement for them to sign on the relevant page (depending on where your customer is entering his bank details). You can configure the information that appears on this agreement by entering the name, email address and phone number of your company on your Stripe configuration page.

Step 2: Update your Webhook URL

Webhooks are indispensable to a smooth ACH workflow; they notify Chargebee of any changes made to the transaction on Stripe so Chargebee can keep you updated on what's going on with your payment. They can be configured by pasting Chargebee's notification URL in your Stripe account at Your account > Account settings > Webhooks > Add endpoint > Account. Find a more detailed tutorial on configuring webhooks on our Stripe page.

Note

Should you remove your Stripe account from Chargebee, this URL will no longer be valid. Adding Stripe to Chargebee again will generate a new URL that you will (once again) have to paste in your Stripe account.

Step 3: Allow the customer to pay via bank account

Step three is allowing your customer to pay via bank account. This additional step ensures that payments by ACH are an option only for customers you know and trust.

To allow a customer to pay via ACH, enable the allow this customer to pay to via his/her bank account option when creating a customer. In case the customer already exists and wants to start paying via bank account, you can enable this option by navigating to her Customer Details page and clicking the Change customer details option on the right (listed under Actions).

Step 4: Add and Verify the customer's bank account

Step four is adding bank details and verifying that the details provided actually belong to the customer. With this step behind you, you will be ready to start accepting ACH payments.

Stripe supports two modes of verification:

Via Plaid , a third party application that authenticates bank information.

Via micro-deposits , wherein the customer communicates the precise amounts (which are usually in cents, hence the name) transferred to the bank account to prove that she has access to her bank statements.

Chargebee currently supports only micro deposit based verification.

There are three ways to add and verify a customer's bank account using micro deposits:

On the Chargebee web interface.

On the Customer Portal.

On the Stripe interface (for verification alone)

On the Chargebee web interface

To add a customer's bank account on the Chargebee interface, navigate to the payment method details section on the customer's details page and click the Add bank account link.

Note

This option will not be available if you have not enabled the Allow customer to pay via his/her bank account option when creating this customer (see step one). To enable this option for an existing customer, click the Change customer details option on the right hand side of the page (listed under Actions).

To add a bank account, you will need the following information:

Customer's name as per bank account

Name of the bank

Account holder type

Bank account number

Bank's nine digit routing number

After you click Add bank account you will be directed back to the customer's page, where the newly recorded details should appear along with a verify this account option. Clicking this option will cause a verification window to pop up with fields to enter the exact amounts that have been transferred to the customer's account. The customer will need to provide you with this information after checking their bank statements.

If incorrect information is entered into the verification pop up more than 10 times, the customer's bank account will be removed from Chargebee in the interest of safety. The whole process will have to be repeated with fresh account details in the event of this happening.

On the Customer Portal

The process of adding and verifying an account is very dependent on the customer. So we've made it possible for you to allow the customer to handle the entire process on her end via the customer portal.

On the customer portal, your customer would have to navigate to and click the Update payment details option to add her bank details. After she clicks Add bank account she will be directed back to the portal, where the newly recorded bank details should appear along with a verify this account option. Clicking this option will cause a verification window to pop up with fields to enter the exact amounts that have been transferred to her account.

As on the web interface, if incorrect information is entered into the verification pop up more than 10 times, the customer's account will be removed from Chargebee in the interest of safety. The whole process will have to be repeated with fresh account details in the event of this happening. If it occurs on the customer portal, you will be notified by email.

Note

The Request Payment Method option is a great way to initiate this process for a new customer. Find it under the Actions tab on the customer's page.

On Stripe

If you want to verify the customer's bank account on the Stripe interface, click the verify option that appears next to the customer's bank details. The subsequent pop-up has fields to enter the exact amounts that have been transferred to the customer's account in cents.

Chargebee will be notified of the verification via webhook.

Note

If you want to add or update a verified bank account on Chargebee from Stripe via API, check out this solution article .

The ACH workflow on Chargebee

After the customer has accepted the Authorization agreement and her bank account has been added and verified, she is ready to make ACH payments, and you are ready to receive them.

Here's what the workflow looks like:

When an ACH payment is made (for both one time payments and recurring payments), a payment due invoice with a payment initiated tag is created on Chargebee.

ACH payments may take up to 5 working days. When the funds are received, Stripe marks the payment as successful, if they are not, it marks the payment as failed.

Chargebee is notified of the change in the status of the payment (again via webhook) and consequently marks the invoice as either paid (for a successful payment) or not paid (for a failed payment). For more, check out our invoices page.

The invoice generated looks like this:

For more on what the workflow looks like on Stripe, check out their ACH guide .

Card Payments vs ACH Payments: The waiting period

Unlike card payments, where the authorization and transfer of funds happens immediately, the authorization and transfer process has a waiting period for payments via ACH. This waiting period is typically up to five business days. Settlement takes about eight working days in total.

Email notifications

Two types of email notifications are available for ACH payments:

Payment Initiated: To inform customers that a payment has been initiated via Direct Debit from their bank accounts.

Refund Initiated: To inform customers that a refund has been initiated towards their bank account.

Note

Additionally, we would strongly recommend enabling the Subscription Renewal Reminder notification, as customers have to be given notice before they are charged via Direct Debit.