WooCommerce plugin
Install the moat plugin on your WooCommerce store, configure your surcharge, and start processing. Usually live in 15 minutes once your merchant account is active.
Before you start
- A WooCommerce store (Tested with WooCommerce 7.5.1 on WordPress 6.2, PHP 8.1).
- An approved moat merchant account. If you haven't applied yet, apply here.
- Your API key (we'll send this to you by email once your account is approved).
If you use WooCommerce Subscriptions, version 5.0.0 or later is required. See the Subscriptions section below.
1. Download the plugin
Grab the latest release as a .zip from your Control Panel under Downloads → WooCommerce Plugin. You'll upload this file directly to WordPress — you won't find moat in the public WordPress plugin directory.
2. Install in WordPress
- Log into your WordPress admin.
- Go to Plugins → Add New → Upload Plugin.
- Choose the
moat-for-woocommerce.zipfile and click Install Now. - Click Activate Plugin.
Once activated, the plugin adds two new payment gateways to your store:
- Credit Card — for Visa, Mastercard, Amex, Discover, and other supported card brands.
- eCheck — for ACH bank transfers.
3. Connect your moat account
Go to WooCommerce → Settings → Payments. You'll see the two new gateways listed.
- Click Manage next to Credit Card.
- Paste your API key into the API key field.
- Enable the gateway and click Save changes.
- Repeat for the eCheck gateway if you want to accept ACH.
You only need to enter your API key once per gateway. The Credit Card and eCheck gateways are configured independently, so you can enable one without the other.
4. Configure surcharging
On the Credit Card gateway settings screen, three fields control surcharging:
| Field | What it does |
|---|---|
| Surcharge type | Flat, Percentage, or None. Most stores use Percentage. |
| Surcharge | The amount. For Flat, a dollar value (in cents or decimal depending on your version). For Percentage, a percentage (e.g., 3.00 for 3%). |
| Surcharge title | The label your customers see on the checkout line item. Common choices: "Card processing fee," "Credit card surcharge." |
Save and the surcharge appears on the cart, checkout, order confirmation, and customer email receipts as a separate line item.
moat automatically skips the surcharge when the billing address is in a state that prohibits credit card surcharging, and applies the correct rate caps per card network rules. You don't need to configure any of this manually.
5. Test end-to-end
Before accepting real payments, place a test order on your own store:
- Add a product to the cart and proceed to checkout.
- Use one of the sandbox test cards — e.g.,
4005519200000004for a surchargeable credit card. - Confirm the surcharge line appears with the correct amount.
- Place the order and check that the transaction shows up in your Control Panel.
- Issue a refund from the WooCommerce order screen and confirm it processes through moat.
Subscriptions
If you use WooCommerce Subscriptions 5.0.0+, there's one extra setting: on the Credit Card gateway, turn on "Enable saving of payment methods". This lets moat tokenize the card at the first checkout and charge it automatically on renewals.
Simple subscriptions, shipping subscriptions, trial periods, and cancellations all work as Woo expects. Every renewal can be surcharged too, according to your fee program configuration.
Voids and refunds
- Void — available from the order detail screen while the transaction is still pending settlement. Full void only; partial voids aren't supported on unsettled transactions.
- Refund — available once the transaction has settled. Full or partial refunds both work.
Troubleshooting
The surcharge line isn't showing at checkout
- Confirm the Credit Card gateway is enabled and configured.
- Check that the Surcharge type is set to
FlatorPercentage, notNone. - Check the customer's billing state — a handful of states disable surcharging automatically.
Theme overrides
Heavily customized WooCommerce checkout themes occasionally override the line-item rendering. If the surcharge line doesn't appear on your theme but does on the default Woo theme, that's the issue. Contact support with your theme name and we can help.
ACH payments don't show eCheck as an option
- Confirm the eCheck gateway is enabled under WooCommerce → Settings → Payments.
- The eCheck gateway has its own API key field — make sure that's filled in.