If you want to start accepting direct debit payments using ACH or SEPA 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.
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
To enable ACH payments on Chargebee, navigate to your Stripe configuration page (Settings > Configure Chargebee > Payment Gateways > Stripe > Edit) and enable the Allow customer to pay via their bank accounts option.
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.
Step 2: 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 their 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 3: Update your Webhook URL in Stripe
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.
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 4: 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 the Customer Details page and clicking the Change customer details option on the right (listed under Actions).
Step five 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 the person has access to their bank statements.
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 Plaid-Stripe 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
Choose when you would like Plaid to show up for your customers to use as a verification method. You can set this option to:
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 or
Finally, click Update option at the bottom of the page to save your ACH settings.
Here is a screenshot of the Stripe page for reference:
Once you have completed these two 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 Microdeposit 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 Details section on the customer's details page and click Add bank account link.
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 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:
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 her end via the customer portal.
This option is not supported in customer portal V3.
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 .
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 .
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.
Chargebee allows you to configure Single Euro Payments Area (SEPA), a payment-integration initiative by the European Union (EU) using Stripe. This section will help you setup SEPA direct debit payments using Stripe in Chargebee.
To accept SEPA payments using Chargebee, you must have a bank account linked with Stripe.
According to the European payment council, when you enable SEPA Direct Debit payments for customers, an authorization agreement should be available for the customer to view and confirm the mandate. Read more on this .
Chargebee displays an authorization agreement on the relevant page (depending on where your customer is entering their bank details) for the customer to set up direct debit payments via SEPA. Shown below is a sample authorization agreement from the checkout page.
Webhooks are indispensable to a smooth SEPA 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.
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.
Two types of email notifications are available for SEPA payments:
Mandate Creation: To inform customers that the mandate has been created.
Payment pre-notification: To inform customers that a payment will be initiated in 'X' days via Direct Debit from their bank accounts.
You can view the content of these emails by clicking Settings > Configure Chargebee > Email notifications > Direct Debit Emails.