Skip to content

How to Accept ACH Payments in WooCommerce, Shopify, Wix

Searching for the easiest way to accept ACH payments on your website?

In this article, you’re going to learn how to accept ACH payments online using a few different platforms, including WordPress/WooCommerce, Shopify, Wix, and a generic solution that will work with any website builder or eCommerce platform.

We’ll start 🏁 with an introduction to ACH payments and their pros and cons. Then, we’ll get straight into the detailed, step-by-step tutorials for each of the platforms above.

How to accept ACH payments

What are ACH payments?

ACH stands for Automated Clearing House, and it’s an electronic payment system used in the United States. This network allows people to move money from one US bank to another – often for free, or extremely cheaply – without having to use extra financial tools like paper checks, credit cards, or even cash.

The user simply links their bank account number to the secure network, then sends however much money they want through the ACH network.

US consumers use ACH networks all the time, even though they may not realize it. ACH is most often utilized for:

  • Direct deposits from employers to your bank ➡️
  • Paying money for rent or your mortgage 🏦
  • Sending money to your utility companies for water, electric, phone, or internet bills 💳

What’s great is that US businesses also have the opportunity to accept ACH payments from customers and clients, particularly when they want to cut down on fees and speed up payments.

Why you might want to accept ACH payments on your website?

🤗  ACH payments offer: 

  • Security: 🔒️ Checks and wire transfers have significantly higher fraud rates than ACH.
  • Straightforwardness: 📏 You can’t beat the simplicity of ACH: link two bank accounts, send money, and you’re done. There are no intermediaries, no waiting for a check, and minimal risk of lost payments or fraud.
  • Speedy transfers: 💨 Although not faster than credit cards, ACH beats out checks, wire transfers, and often PayPal. It usually takes about 1-5 business days.
  • Low fees: 💰 Most payment processors allow ACH transfers for free, or just a few bucks, saving you a substantial amount of money compared to the 2%-10% fees you see with PayPal, Stripe, and all credit card processors. And it’s far cheaper than wire transfers.

👍  With these benefits, ACH is ideal for the following situations: 

  • Freelancing/contracting: Invoicing clients via ACH cuts down on high PayPal and credit card fees, and it’s simple/secure for both parties.
  • Large/pricey orders: There’s no fooling the ACH network. Money lands in your account, and that’s it. You can then send out a large, expensive order without worrying about payment. Not to mention, ACH means you don’t have to pay a percentage for pricey orders; it’s typically capped at around $5-$10 per transaction.
  • B2B orders: From security to its straightforward nature, B2B transfers are much easier with ACH, especially considering it’s usually cheaper for both sides.
  • Recurring payments: The ACH network allows the saving of bank account information to ensure recurring payments into the future.

👎  Keep in mind, there are some limits to ACH: 

  • It’s usually only for bank transfers in the US (some banks allow Canada and a few other countries for ACH)
  • You may encounter fees for insufficient funds
  • The transfer may not process until the next business day if it’s sent later in the day
  • Many banks have limits on how much you can send/receive per day or month
  • Some ACH transfers charge the sender but not the receiver
  • ACH isn’t offered by some invoicing and payment processing software

How to accept ACH payments on your website

Whether you want to add ACH to your ecommerce store or as a way for clients to pay you for services through your business website, there’s always a method for you.

🚶 Follow the several tutorials below to accept ACH payments on your WooCommerce, Shopify, Wix, or other website.

Accept ACH payments on WooCommerce

Allowing ACH payments on WooCommerce requires the use of:

  • The Payment Plugins for Stripe WooCommerce plugin

With that installed, you can create a WooCommerce product page—with an ACH payment option—for:

  • Standard eCommerce products
  • Recurring subscriptions
  • Individual payment pages/invoices for products or services

To begin, install and activate Payment Plugins for Stripe WooCommerce.

In WordPress, go to WooCommerce > Stripe by Payments Plugins.

Stripe by Payment Plugins

Click on the Settings option.


Click to Connect to your Stripe account. Either log into your current Stripe account or create one to link it to the plugin.

connect to Stripe to accept ACH payments

Once linked, the plugin shows that you’re connected, and it gives an option to test the connection.

Choose Live or Test mode, depending on how you currently want to run the ACH checkout.

⚠ Note: Test mode is best for the Sandbox and Development options from Plaid.

live mode

Go to the ACH tab and check the Enabled box. The plugin uses Plaid, a service for making ACH payments where users simply log into their bank accounts. Therefore, select Production or Development next to Plaid Environment.

ACH tab
  • Production: This is what you’ll eventually want for a live checkout, but it requires you to apply for a Production key inside Plaid.
  • Development: Allows for 100 live credentials, so it works well for testing, and theoretically for small-batch processing.
  • Sandbox: Another testing option that only gives one set of credentials. You can use it for testing, but we find that Development is more flexible.

ℹ️ Be sure to save the changes.

choose Plaid environment

Create a Plaid account. This will link to both the plugin and your Stripe account. It’s also where you get your Client ID and API secrets.

make Plaid account to accept ACH payments

In Plaid, go to Team Settings > Keys.

team settings

Copy the Client ID, Development Secret, and Sandbox Secret.

get keys in plaid to accept ACH payments

Paste all of those into their respective fields in the Payment Plugins for Stripe fields (under ACH).

paste in client id and secrets in wordpress

The Production Secret from Plaid is required for running a live checkout. You must apply to get production access, after which, you can find the key and paste it into WordPress.

get production access  to accept ACH payments

The ACH tab in the plugin also has some settings for formatting your ACH checkout module. Customize those as you please, then click Save Changes.

save changes

You must also activate ACH payments in Stripe. To do so, navigate to Settings > Payment Methods.

payment methods in stripe

Scroll down to the Bank Debits section and Turn On the ACH Direct Debit option.

turn on to accept ACH payments

As a reminder, you also need to Activate Payments in Stripe if you haven’t already done so.

activate payments  to accept ACH payments

To check the functionality of your ACH payments, add items to your WooCommerce cart, then go to the Checkout module.

You should see an ACH Payment option in the payment method section. Users can then click the Bank Payment button (or whatever you named it) to proceed.

ACH payment method

That reveals the Plaid module for ACH payments.

choose bank in plaid

Users can choose their bank and login with those credentials, or they have the option to manually type in bank account numbers.

plaid is used to accept ACH payments

That’s it! 🤩

Alternative option for WordPress

You may want to add an ACH payment method to your general WordPress site to accept money from clients, B2B customers, or for service-based work. In this case, the best option is to add the WP Simple Pay plugin called Stripe Payment Forms.

The ACH functionality requires a premium membership, but once active, you can turn on an ACH Direct Debit Form to send clients or customers to individual invoices and payment pages on your website.

ACH direct debit form

Accept ACH on Shopify

Unfortunately, Shopify tries its hardest to prevent merchants from processing ACH payments, since they make so much of their money from credit card processing fees.

There’s only one way around this: a manual payment method that leads to a separate ACH payment link.

The good news is that it’s not that much of a hassle considering ACH is most often used in ecommerce for high-priced orders, where the customer or B2B client doesn’t mind the extra step (kind of like an invoice).

To start, go to Settings in Shopify.

settings button

Click Payments.


Scroll down to the Manual Payment Methods section. Click the Add Manual Payment Method dropdown, and either choose Bank Deposit or Create Custom Payment Method.

Both offer the same features, but you can give a custom name to the second “Custom” option.

add manual payment method

This provides two fields for explaining to your customer where to make the payment.

  • Additional Details: This is where you tell the customer to complete the purchase on Shopify (without typing in any payment information). Then, inform them that they’ll get a link for payment, after which, you will process the order.
  • Payment Instructions: Here’s where you provide a link to your external ACH payment link. This page shows up after they complete the order in Shopify.
ACH payment instructions in Shopify

Before saving your Manual Payment Method, you must create an ACH payment link to put in that field.

👉 We recommend using Stripe.

Create or log into your account, then go to Payments > Payment Links.

payment links to accept ACH payments

Select the Add New button.

new button to accept ACH payments

Add a product or a summary of the order for that customer. You can also make a product that multiple customers can pay for.

add product

Fill in all the optional settings, then click on the Create Link button.

create the link

Click to Copy the link to your clipboard.

copy the link

⚠ Note: On the same Payment Link page, make sure you scroll to the bottom to ensure that ACH Direct Debit is included under Payment Methods. If not, click Manage to add it.

ACH direct deposit in Stripe

Paste that link in the Payment Instructions field, then save the payment method.

paste in stripe ach link

Now, on the frontend, customers see the Bank Deposit (or whatever you called it) payment method and instructions. They should then click on Complete Order.

bank deposit in checkout

The next page delivers the message with your payment link. When they click on that, they’ll see the Stripe payment link with the ACH payment option (US Bank Account tab). They search for a bank account or choose one that’s already saved. Then they pay you!

the stripe ACH payment page

Once you receive payment, it’s required for you to go back in Shopify and manually fulfill the order.

Accept ACH payments on Wix

Wix has a similar configuration as Shopify, where they won’t allow ACH payments due to it cutting into their profits.

There is a manual workaround, however.

In Wix, go to Manage > Store.

store on wix

Choose Settings > Accept Payments.

accept payments on wix

Click to Connect the Manual Payments option.

connect manual payments to accept ACH payments

There’s a section called “Let customers know how to pay.” This is where you fill in the instructions for the ACH payment. It’s a little better than Shopify since they allow hyperlinking.

👉 We recommend explaining that customers should complete the order, then click through the link to make the ACH payment.

connect manual payments and add a link to accept ACH payments

To create an ACH link, use Stripe. Go to Payments > Payment links.

payment links

Click New.

new payment link

Add items that reflect what you’re selling.

add item

Finish the settings, then click Create Link.

create link to accept ACH payments

Click Copy.

copy button

⚠ Note: Scroll down on the same page and ensure you have ACH Direct Deposit active under Payment Methods.

ach direct debit option

Go back to the Wix Manual Payment setup and hyperlink a bit of text with that link.

add link and connect

Now, when a customer picks that payment method, they can click through to complete an ACH payment through Stripe.

accept us bank account

Accept ACH payments on any website

Finally, there’s a free and simple way to embed a form with an ACH payment option to any type of website, particularly those that don’t have ecommerce functionality.

You can achieve this by signing up for a product called Jotform.

Once you have a free account: add a new form, then search for the Stripe ACH element. Add it to the form.

Stripe ACH module to accept ACH payments

You’ll see multiple fields that need filling:

  • Stripe Secret API Key: In your Stripe account, find this by going to the Developers button (upper-right corner), then API Keys > Reveal Key. You may need to create a key to get the secret.
  • Plaid Client ID: Make or log into a Plaid account, then find the Client ID by going to Team Settings > Keys.
  • Plaid Secret Key: The Secrets are also listed under Team Settings > Keys in Plaid. You can opt for Development, Sandbox, or Production secrets.
secrets for stripe and plaid to accept ACH payments

Finally, copy the IPN Jotform link and paste it into Stripe, using these steps in Stripe:

  1. Click Developers
  2. Choose Webhooks
  3. Click on the Add Endpoint button
  4. Paste the link in the Endpoint URL field, then click Add Endpoint after selecting events
copy url

Back in Jotform, click Continue.

continue to accept ACH payments

Make a product for the form.

add product

Then, go to the Publish page on Jotform, and select Embed. Copy the Embed or iFrame code to your clipboard.

get embed code to accept ACH payments

This allows you to open an HTML or embed module in any website builder or content management system and add a form with ACH payment functionality.

publish to accept ACH payments

On the frontend, the customer sees the form, product, and a button to Select their bank account. After that, they can submit payment via ACH.

select bank to accept ACH payments

Get started with ACH payments today 💸

In this tutorial, you learned 👨‍🎓 how to accept ACH payments on:

  • WooCommerce
  • Shopify
  • Wix
  • And any website

We also explained the benefits of accepting ACH, along with the situations in which it may come in handy, like for freelancing, pricey orders, and general invoicing.

Do you accept ACH payments on your website? If so, let us know in the comments how you set it up.

Don’t forget to join our crash course on speeding up your WordPress site. Learn more below:

Yay! 🎉 You made it to the end of the article!
Joe Warnimont

Inline Feedbacks
View all comments

Or start the conversation in our Facebook group for WordPress professionals. Find answers, share tips, and get help from other WordPress experts. Join now (it’s free)!

Would love your thoughts, please comment.x