We’re happy to announce that ACH / Bank Account payments are now available to all US-based MoonClerk accounts!

Automated Clearing House or ACH payments allow you to receive debit payments directly from a payer’s bank account instead of them using credit or debit cards.


For ACH payments, our third party payment processor, Stripe, charges 0.8% with a $5 cap. This rate is much lower than the standard 2.9% + $.30 per transaction for debit/credit cards, making ACH / bank payments a great option for large volume transactions.

Accepting ACH Payments

In order to begin accepting ACH payments on a payment form, all you have to do is click a button:

accept ach 1

Checkout Process

Once you do that, your payers will see the option at checkout to pay directly with their bank account:

process ACH 1

After your payers enter their bank information, we’ll send them further instructions on how to complete the checkout, which includes them verifying their bank account by entering 2 temporary micro-deposits Stripe will make into their account.

Learn more about what the entire checkout process is like for payers.


Once a payer completes the checkout, the first ACH payment and every subsequent one (if part of a recurring plan), takes up to 5 business days to receive acknowledgment of their success or failure. Because of this, ACH payments take up to 7 business days to be reflected in your available Stripe balance.

Payment Method Switching

Currently, if you have payers with existing recurring plans, we do not have a way for you to change their payment method from a credit/debit card to a bank account. You would need to have them complete the checkout experience again using ACH. In addition, we don’t currently have a way for you or a payer to update or change their bank account information. The recurring plan would need to be canceled and they would need to check out again.

Differences between ACH and Card Payments

Also, because banks handle ACH payments differently than card payments, there are differences to consider. Some of those are:

  • It is more difficult for your customers to dispute your charges
  • If a dispute is approved, there is no way for you to contest the dispute
  • You can only issue refunds within 90 days of the original payment
  • Refunds can take 2-5 business days to appear in your payer’s bank account
  • If a payment on an ACH recurring plan fails, the system does not attempt to charge the bank account again
  • If you have a new Stripe account, you may initially be limited to $2,000 per transaction. You can contact their support team to ask for this limit to be lifted.

Changes to Exports

As part of the process of adding ACH payments, we also had to make some changes to our exports. If you are exporting payment or plan information and using that spreadsheet to automate processes in your business, please note that some of the columns in the spreadsheets have changed. We have changed the number/order of columns as well as the titles for the columns that pertained to cards. If the column information does not apply (ie. Expiration for bank accounts), that cell will be blank. Here is an example of the old columns for payment information on a Payments export:

export old

And here are the new columns for payment information on a Payments export:

export new

Changes to Notifications, Zapier, and the API

In adding ACH payments, we also had to make some changes to our API, our notification system, and our Zapier integration. If you’re using any of the advanced functionality of these features, there is the potential these changes may affect you.

We’ve changed the text for all default notifications so they read correctly regardless of whether a payer has checked out with a card or a bank account. If you have already customized the text of your email notifications and you choose to use ACH, you might want to check them to make sure they still read smoothly and don’t just refer to “card” payments.

If you are using Liquid Variables to customize your email notifications, if you are using our Zapier Integration, or if you are using our API, all of your existing variables and data-points will still work and are backwards compatible. However, we do have new variables and data points that replace the old card-specific ones, if you’d like to makes changes moving forward.

Anything that referred to “card” before now refers to “payment_source”. For example: `plan.card.last4` is now `plan.payment_source.last4`.

When you check the documentation for the Liquid variables, our API, and as you’re creating Zaps, you’ll see the updated variables and data points.


We hope being able to accept ACH / bank account payments will be beneficial to your organization. As always, if you have any questions, feel free to reach out to us at help@moonclerk.com.