If you want to start accepting payments via ACH with Authorize.Net, you've come to the right place! This document will help you configure your settings on the Chargebee web interface and the Authorize.Net web interface so you can get your direct debit payments up and running ASAP.
To be able to accept ACH payments using Chargebee,
You must be a US based merchant selling to customers in the US.
You must have an Authorize.Net account configured in Chargebee
Your account must be enabled for eCheck.Net processing by Authorize.Net
Authorize.Net ACH is only supported on hosted pages v2 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.
After configuring your Authorize.Net account with Chargebee and once your Authorize.Net account has been enabled for eCheck.Net processing, follow these steps to configure ACH Payments in Chargebee.
Allowing customers to pay via their bank accounts
Go to your Configure Authorize.Net gateway page, and enable the Allow customers to pay via their bank accounts option.
National Automated Clearing House Association (NACHA), as well as federal legislation mandate that you should have an Authorization Agreement with your customer to charge their bank account. When customers choose to pay via their bank accounts and enter their bank account information, an authorization agreement is displayed by Chargebee.
A sample Authorization Agreement is as shown:
Enter the name, email address, and phone number that you'd want to be displayed in the Authorization Agreement.
Once this is done, you can start collecting payments via ACH.
However, to allow customers to pay via their bank accounts, you will have to enable the Allow this customer to pay via his/her bank account for them from your end. This option is available while creating/editing a customer as shown:
When customers choose to pay via ACH, they will have to provide their bank account information.
The following information is captured as part of an ACH transaction:
You can also use the API to collect the bank details from the customers. Refer this link to learn more.
After customers accept the Authorization agreement, and confirm their payments, Chargebee initiates a payment by routing this order information to Authorize.Net.
After performing certain basic validation checks on the transaction, the information is taken as an ACH request.
When the transaction is accepted, Chargebee generates a Payment Due invoice with the tag Payment Initiated as shown:
After the funds are transferred from the customer's bank account and the payment is received, the invoice is marked as Paid.
If the payment fails, due to certain errors such as insufficient funds, the invoice is marked as Not Paid and payment must be collected using an alternate method.
Automatic retries are not applicable for payments made via ACH. If a payments fails, the invoice is marked as Not Paid. You can manually collect a particular due invoice, if needed.
You can add or update the bank account information of an existing customer in the following ways:
Via the Web Interface
In the Payment Method Details section for a customer of the Customer Details page, use the Add Bank Account option, you can add the bank account information on behalf of your customer.
This option is available only if a payment method is not present for the customer.
Via the Customer Portal
Customers can update their bank account information by logging in to their customer portals. They can make use of this option only if you have enabled the customer portal for them.
Via Hosted Pages
Customers can add/update their bank account information via the following hosted pages:
Customers can pay via their bank accounts (via the hosted pages & customer portal) only if you enable the option for them.
Three 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.
Payment Failure: To inform customers that their payment has failed.
Additionally we would strongly recommend you enable the Subscription Renewal Reminder notification, as customers have to be given an advance notice before they are charged via Direct Debit.
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.
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. Settlement takes about fifteen working days in total.
In case the payment fails during the renewal, Authorize.net will notify Chargebee of this. Chargebee will then try to charge the customers, if dunning has been enabled. In cases where payment has not been collected or dunning is disabled the final action set in the Dunning settings will take place. Read more on Dunning.
The payment method will be marked as Invalid after 3 consecutive payment failures.
Why can't I allow new customers to pay via ACH?
It is important to understand that in the case of ACH payments, funds aren't guaranteed if a payment has been initiated. A payment needs to be authorized after it is initiated; the status of the payment is known only after it is authorized. This leaves room for fraudulent transactions in case of new users, especially because the authorization and transfer process takes up to fifteen working days.
We recommend enabling ACH as a payment method option only for customer you know and trust.
How is the waiting period handled in Chargebee?
Chargebee waits until 7-15 days to check the status of the transaction. Sometimes despite the transaction being marked as settled in Authorize.Net, there are chances of an ACH return. To eliminate any confusion, Chargebee waits until 15 days before marking a transaction as Success. After 7 days, Chargebee checks in periodically with Authorize.Net to see if there are any returns. If there are any returns (due to reasons such as insufficient funds), the transaction is marked as Failed in Chargebee.
When the request is validated and the payment is "settled" by ACH, Chargebee changes the transaction status from In Progress to Success and the invoice will be marked as Paid. More on the behavior of invoices with respect to ACH payments, here.