Chargebee allows you to configure ACH direct debit payments using Stripe. This section will tutor you on how to setup ACH direct debit payments using Stripe in Chargebee.
To be able to accept ACH payments using Chargebee, you must:
Be a US based merchant selling to customers residing in the US.
Have a US/USD bank account linked with Stripe and configured with Chargebee.
This is applicable if you are using the older version of hosted pages.
Stripe ACH is only supported on hosted pages when used with the Minimal, Elegant or Inspire themes. It does not work with Chargebee's Rhapsody theme. Refer this page for more information on themes.
If Plaid is being used for bank account verification, the option of embedding into an iframe is not supported in hosted pages.
Step 1: Enable ACH payments on Chargebee, navigate to your Stripe configuration page (Settings > Configure Chargebee > Payment Gateways > Stripe) and enable the Direct Debit (ACH) option.
Step 2: 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 their bank details). You can configure the information that appears on this agreement by entering the Business name, email address and phone number of your company on your Stripe configuration page.
Step 3: Enable Use Plaid for Instant Authentication if you want to authorize using Plaid or enable Use Financial Connections for instant verification if you want to authorize using Financial Connections.
By default, Micro deposits is the mode of verification. Learn more about different modes of Authentication.
Step 4: Next, you need to allow 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.
In the customer's profile, enable the option to pay via their bank account.
Stripe supports three 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 the person has access to their bank statements.
Via Financial Connections , which is Stripe's proprietary instant verification method, can be used to access users' financial data with permission. This data includes tokenized account and routing numbers, balances, ownership details, and transactions.
Financial Connections provides a secure platform for your customers to link their bank accounts to your business, enabling the secure sharing of this vital financial information.
Stripe will notify Chargebee in case of verification failure. On such instances, Chargebee will mark the payment method as INVALID. Customers will have to repeat the whole process once again.
Plaid is a third party application that allows for quick authentication of bank information, enabling instant verification of bank details and payment collection.
To allow your customer to verify their bank accounts using Plaid, follow these steps:
Step 1: Setup/Connect your Stripe and Plaid accounts
Connect your Stripe and Plaid accounts so that Plaid can facilitate the creation of bank account tokens on your behalf. Find out more about how to do this on Plaid's page .
Step 2: Connect your Chargebee and Plaid accounts
Navigate to Settings > Configure Chargebee > Payment Gateways > Stripe
Enable the Use Plaid for Instant Authentication option
Connect Plaid to Chargebee by entering your Client ID and Secret API Keys: This information helps Chargebee connect with your Plaid account. You can find this information in your Plaid Dashboard by navigating to Team Settings > Keys.
Step 3: Checkout page and customer portal setting
Choose customers for whom you want to display direct debit as a payment method in the Chargebee checkout and self-serve portal. Select the necessary option from Display Direct Debit as a payment method for setting in the bottom of the page. Available options are:
All your customers - This options allows all your customers (including new customers) to pay via ACH irrespective of whether the Allow this customer to pay via his/her Bank Account option is enabled on the customer's details page.
Only customers with Direct Debit enabled
This option is applicable for direct debit payments via Stripe ACH (Plaid only) and SEPA.
Once you have completed these three steps, your customers will be able to verify their bank accounts using Plaid when they choose ACH as their payment method.
When your customers are setting up ACH payments, they will be redirected to Plaid. Plaid verifies bank details using the customer's (bank account related) login credentials. Once verified, customers are redirected back to Chargebee's hosted pages where they can enter their personal details, shipping and billing addresses and so on, and complete their payment.
When you use the Micro Deposit option, the customer will first have to provide the bank details using the customer portal. Verification using Micro Deposit is a free service and the whole verification process will take about 2-3 business days.
Once the bank details are collected, it has to be verified. For verification, Stripe will deposit 2 small amounts into the customer's bank account. Your customers will have to validate the amount transferred.
There are three ways to add and verify a customer's bank account using micro deposits:
On the Chargebee Site
To add a customer's bank account on the Chargebee interface, navigate to the Payment Method section on the customer's details page and click Add Bank Account.
This option will not be available if you have not enabled the Allow customer to pay via their bank account option when creating this customer (see step one). To enable this option for an existing customer, click Edit Customer on the Action panel.
Classic UI users
Display of Add bank account option in Classic UI is as shown here:
For the option to show up in Classic UI, you need to enable Allow customer to pay via his/her bank account option when creating the customer. Or enable the setting using Change Customer Details action.
To add a bank account, you will need the following information:
You can also use an API to collect the bank details from the customer Refer to our API documentation to learn more
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 payment details will be marked as INVALID. 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 their end via the customer portal.
On the customer portal, your customer would have to navigate to and click Update Payment Details option to add their bank details. After they click Add bank account they 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 their 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 marked as INVALID in Chargebee. On such events, if you wish to verify again, the whole process will have to be repeated with fresh account details. If incorrect information is entered in the customer portal, you will be notified by email.
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.
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.
If you want to add or update a verified bank account on Chargebee from Stripe via API, check out this solution article .
Prerequisite: Ensure to enable Financial Connections in your Stripe account before configuring it in your Chargebee site.
Follow the steps below to enable Financial Connections for your ACH payments via Stripe in your Chargebee site:
After the customer has accepted the Authorization agreement and the bank account has been added and verified, they are 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:
To learn in detail about how the workflow looks like on Stripe, check out their ACH guide .
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,
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?
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.
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.
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.
Invalid Payment Method Email Notifications
You can also configure the Invalid Payment Method notifications to inform your customers about card expiry or payment failure.
You can setup these notifications by clicking Settings > Configure Chargebee > Email Notifications > Invalid Payment Method.
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. Please do note that while you are configuring webhooks, please select all types of events.
In case 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.