ACH payments are a method of transferring money from one bank account to another directly. This means that the transaction is being done without the use of credit cards, cash, checks, or wire transfers. They can be used for one-time payments but they are more commonly used for recurring transactions. For instance, if you have automatic payments, deducted from your bank account periodically for mortgage or gym membership, then they are ACH payments.
If you have recurring payments for your mortgage or gym membership deducted from your bank account periodically, then you are using ACH payments as a consumer. On the other hand, if you have automated payment set up for your employees weekly or monthly, then you are using ACH payments as a business owner.
ACH Debit is a transfer type where funds are pulled from a bank account. In practice, this happens when a customer (payer) gives permission to a merchant (payee) to take payment from their account in order to meet a recurring payment agreement, such as paying for monthly utility bills.
ACH Credit is another transfer type where funds are pushed into a bank account. This occurs when a customer (payer) sends a given amount of money to a merchant (payee) to purchase some goods. Another example would be paying monthly bills manually.
ACH customer payments have a 4-step process.
Stripe supports ACH payments, however, only for businesses based in the United States. In Stripe, accepting ACH payments works almost the same way as accepting credit card payments, by providing a verified bank account as the source for a charge request.
However, accepting bank accounts requires a slightly different way than accepting credit cards:
If both steps are completed, your customer can choose ACH from the list of payment methods on your website, and can use it for recurring charges, or even for Connect applications. The two most important differences between using bank accounts and credit cards are:
Before you can create an ACH charge, you must first obtain and verify your customer’s bank account and routing number. To properly identify the bank account, you also need to collect the information on the account holder whether it is owned by a company or an individual, and you will need the business name or the name of the person that owns the account.
Stripe provides two methods for this purpose: instant collection and verification using Plaid or collection via Stripe.js with delayed-verification using microdeposits. Depending on the size of your business, you may incur additional costs when using Plaid. As charging a bank account requires verification of the account and customer authorization as well, you might want to consider storing the bank account on a “Customer” object in Stripe.
ACH charges can be refunded via the refund endpoint of the Stripe API, however, the timing and risks associated with ACH refunds differ from card refunds. If a refund for an ACH charge fails, you will receive a “charge.refund.updated” notification which means that Stripe could not process the refund. In such a case, you will need to return the funds to your customer outside of Stripe, although this is very rare. It usually only occurs when an account is frozen between the original charge and the refund request.
For ACH Direct Debit payment, Stripe charges 0.8% capped at $5.00. They also charge $4.00 for failed ACH Direct Debit payments and $15.00 for disputed ACH Direct Debit payments.
Stay on top of the latest news about WP Full Stripe