Adding a Fee for Card Payments in WooCommerce: What's Legal
Before WooCommerce adds a fee for a payment method, learn the card network, state and PayPal rules, plus how to set up and disclose the fee correctly.

Photo: Pixabay
On this page 8 sections
- Surcharge, Convenience Fee or Discount: Know the Difference
- Visa and Mastercard Rules for a WooCommerce Credit Card Surcharge
- State Restrictions and Debit Card Limits
- Passing the PayPal Fee to Customers: Why It Can Violate Its Terms
- How to Add a Payment Method Fee in WooCommerce
- Disclosing the Fee on Product, Cart and Checkout Pages
- Alternatives: WooCommerce Cash Discount, Built-In Pricing or ACH Rewards
- Next Steps for Your Store
Key takeaways
- A surcharge, convenience fee, cash discount and dual pricing are different programs, and each has its own rules.
- WooCommerce gateway fees can't tell credit from debit, so a flat "card fee" can break network rules on debit cards.
- PayPal and other gateways set their own terms on fees, so read your current agreement before you charge anything.
- Compliant surcharging requires clear disclosure at the point of entry, at checkout and on the receipt, and a cart-page notice is good practice.
A search for "WooCommerce add fee for payment method" brings up dozens of plugins and code snippets. Most of them make it easy to add a fee when a shopper picks a credit card or PayPal at checkout. Very few explain whether that fee is allowed. This guide covers both sides. You'll learn how surcharges, convenience fees and discounts differ, which card network, state and PayPal rules apply, and how to set up and disclose a fee in WooCommerce without putting your merchant account at risk.
This is general information, not legal advice. Surcharging rules change, so confirm current requirements with your processor and a qualified attorney before you launch.
Surcharge, Convenience Fee or Discount: Know the Difference
The name you give a fee doesn't decide which rules apply. The way the fee works does.
| Program | How It Works | Key Limits |
|---|---|---|
| Surcharge | Adds a fee to credit card transactions | Credit cards only. Subject to network rules, caps, disclosure requirements and state law |
| Convenience fee | Flat fee for paying through a channel that isn't your standard one | Generally doesn't fit an online-only store, because the website is your standard channel |
| Cash discount | Posted price includes card costs, and non-card payers get a discount | The discount must be real and clearly offered |
| Dual pricing | Shows two prices side by side: card and non-card | Both prices must be clear before purchase |
Store owners misuse the convenience fee label most often. Network rules treat a convenience fee as a charge for a truly alternative payment channel, such as a phone payment option at a business that normally takes payments in person. If every sale on your WooCommerce store happens online, calling a card fee a "convenience fee" usually won't hold up. Visa and Mastercard also treat convenience fees differently, so check with your processor before you use one. If you also sell at markets or a shop, see our guide to WooCommerce card readers and POS options for selling in person. To keep counter and online sales in step, read our guide to syncing online and in-store sales with Square for WooCommerce.
A blanket "service fee" applied to every order, regardless of how the customer pays, isn't a surcharge. It can still raise consumer protection questions under federal and state rules on fees that aren't included in advertised prices. Ask an attorney before you add one.
Visa and Mastercard Rules for a WooCommerce Credit Card Surcharge
If you want to add a WooCommerce credit card surcharge, the card networks set the baseline rules. The specific caps and notice periods change, so get current figures from your processor. The general framework looks like this:
- Advance notice. You typically must notify your acquirer before you start surcharging, and some networks also require registration. Plugins don't do this for you.
- A cap. The surcharge can't exceed the network's maximum percentage. It also can't exceed what you actually pay to accept the card. The lower of the two limits applies.
- Credit only. Surcharges apply to credit cards, not debit or prepaid cards. The next section covers this in more detail.
- Disclosure. Shoppers must see a notice at the point of entry and again at the point of sale. The fee must also appear as a separate line on the receipt.
- Consistency. Network rules govern whether you surcharge by card brand or by card product. You can't single out one brand in ways the rules don't allow.
American Express and Discover have their own surcharge rules. If you accept those cards, review them separately. MannyPay offers a credit card surcharging program where permitted.
State Restrictions and Debit Card Limits
State Law Can Override Network Permission
Network rules permit surcharging in principle, but state law can restrict it. A small number of states have prohibited or limited surcharges. Others set their own caps or disclosure requirements. Court rulings and new legislation have changed this list over time, so any list you find online may be out of date.
E-commerce makes this harder. Your store may be in one state while your customers are spread across the country. Depending on the law, the shopper's location may matter as much as yours. Some online sellers apply the strictest standard to every order. Others restrict surcharging by billing location. Talk to an attorney about which approach fits your store.
Debit Cards Can't Be Surcharged
Card network rules generally don't allow surcharges on debit or prepaid cards, even when a debit card is run as credit. This creates a real technical problem for WooCommerce.
A standard gateway-based fee attaches to the payment method, such as "Credit/Debit Card." It can't tell what kind of card the shopper is about to enter. As a result, a fee tied to your card gateway will also hit debit cards. To surcharge compliantly, you need a system that identifies the card type from its BIN (the first digits of the card number) and applies the surcharge only to eligible credit cards. That check usually happens at the processor or gateway level, not inside a WooCommerce fee plugin.
Passing the PayPal Fee to Customers: Why It Can Violate Its Terms
Because PayPal shows up as its own option at checkout, many store owners want to pass the PayPal fee to the customer. Before you do, read PayPal's current user agreement for your country. PayPal's terms address fees and surcharges on PayPal payments. Those terms have changed over time and vary by region, so a fee that's fine in one market can breach the agreement in another. For more on how PayPal's fees work in WooCommerce, see our guide to setting up the WooCommerce PayPal Payments plugin.
Two more issues apply:
- Cards inside PayPal are still cards. When a shopper pays with a credit card through PayPal, card network surcharge rules can still apply. When they pay with a debit card through PayPal, the debit card restrictions above can apply.
- Every gateway has terms. Stripe, WooPayments, Authorize.net and other gateways each have their own agreements. Breaking them can lead to account reviews or frozen payouts. Our guide to why WooPayments accounts go under review explains how that process works.
Consider conversion, too. A fee that appears only when someone clicks PayPal can push them to abandon the cart instead of switching payment methods. To show or hide specific gateways by rule instead, see our guide to WooCommerce conditional payment methods.
How to Add a Payment Method Fee in WooCommerce
WooCommerce core doesn't include a built-in setting for per-gateway fees. You have three realistic options.
Option 1: A WooCommerce Payment Gateway Fee Plugin
Fee extensions let you set a percentage or fixed WooCommerce payment gateway fee for each payment method. Before you install one, check that it:
- Recalculates totals right away when the shopper switches payment methods
- Works with the block-based Cart and Checkout, not just the classic shortcode checkout
- Lets you write a clear fee label, such as "Credit card surcharge," instead of a vague "Fee"
- Handles tax classes and partial refunds correctly
- Works with your subscription or deposit plugins, if you use them
A plugin fixes the display. It doesn't solve the debit problem, and it doesn't notify your processor for you.
Option 2: Custom Code
A developer can add fees using WooCommerce's woocommerce_cart_calculate_fees hook. The code reads the chosen payment method from the session and adds a line item with the cart's add-fee function. It also needs a front-end trigger so checkout totals refresh when the shopper changes methods. Test it on a staging site, including refunds and edge cases such as free orders. Custom code has the same limitation as a plugin: it only knows the payment method, not the card type. Our guide to WooCommerce PCI compliance for self-hosted stores covers how to secure plugins and checkout scripts. To learn the warning signs of checkout malware, see our guide to detecting and stopping WooCommerce credit card skimmers.
Option 3: Processor-Level Surcharging
This is the most compliance-friendly route. The processor or gateway identifies the card type, applies the surcharge only to eligible credit cards, keeps it within the cap and passes it to WooCommerce as a separate line. If you choose this route, confirm that your processor's WooCommerce integration supports it.
Setup Steps
- Confirm that surcharging is allowed for your business and your customers' locations.
- Notify your processor and complete any registration it requires.
- Choose a method that handles credit vs. debit correctly.
- Set the rate at or below both the network cap and your actual cost of acceptance.
- Add disclosures (see below) and update your terms and refund policy.
- Test orders with credit, debit and non-card methods, including full and partial refunds.
Illustrative example: On an $80 order with a 3% surcharge, the shopper would see an $80.00 subtotal, a $2.40 credit card surcharge line and an $82.40 total. If the shopper returns half the order, refund the surcharge proportionally. The 3% figure is for illustration only and isn't a rate recommendation.
Ask your tax advisor whether the fee is taxable in the states where you collect sales tax. The answer varies by state.
Disclosing the Fee on Product, Cart and Checkout Pages
Disclosure is where many WooCommerce stores fall short. Card network rules call for notice at the point of entry, at the point of sale and on the receipt. A cart-page notice isn't a network requirement, but it's good practice because shoppers should never be surprised by a fee. Place notices at each stage:
- Point of entry (required): A sitewide notice in the header or footer, plus a mention on product pages or near prices, stating that credit card payments carry a surcharge.
- Cart (recommended): A short note near the totals.
- Checkout (required): The surcharge amount or percentage, shown before the shopper enters card details, with the fee as its own line item.
- Receipt and order email (required): The surcharge listed separately from the subtotal, tax and shipping.
- Policies (recommended): Your terms, FAQ and refund policy should explain how surcharges are handled on returns.
Confirm the exact wording and placement requirements with your processor. Keep the rest of checkout simple so the fee doesn't become one more reason to leave. Our comparison of guest checkout vs. forced accounts covers other friction points worth fixing. If wallet buttons aren't appearing for your shoppers, see our guide to fixing Apple Pay not showing on WooCommerce.
Alternatives: WooCommerce Cash Discount, Built-In Pricing or ACH Rewards
A surcharge isn't your only way to manage card costs, and it isn't always the best one.
Build Card Costs Into Your Prices
Raising prices slightly to cover processing is the simplest approach. It avoids extra checkout lines and is easy to explain. It works best when your margins and competitors' pricing leave room. To find your true cost per order, see our breakdown of WooCommerce transaction fees per sale.
Offer a WooCommerce Cash Discount for ACH
Online, a "cash" discount usually means a discount for paying by bank transfer or ACH. You can set this up as a negative fee on the ACH payment method. The posted price stays the same, and shoppers who pay by bank get a reduced total. Keep in mind that ACH settles more slowly than cards and payments can be returned, so think about when you ship. Our guide to WooCommerce orders stuck on pending payment explains how to confirm a payment before shipping. MannyPay offers cash discount programs and dual pricing for merchants who want to show card and non-card pricing.
Lower the Underlying Cost
Sometimes the better fix is a better rate. Reviewing your processor, gateway and pricing model can shrink the cost you were trying to pass on. Our WooCommerce payment gateway checklist covers what to compare. For eligible merchants, zero cost processing is a compliant way to offset most or all card-processing fees.
Next Steps for Your Store
Before you add any payment method fee in WooCommerce:
- Decide which program fits your store: a surcharge, cash discount, dual pricing or built-in pricing.
- Confirm the network, state and gateway rules that apply, including PayPal's current terms.
- Choose a setup that keeps debit cards fee-free.
- Put the required disclosures in place before the fee goes live, and add a cart notice as a best practice.
For help reviewing your options, request a free processing quote. A MannyPay specialist will respond within one business day.
This article is for general educational purposes and is not legal, tax or financial advice. Card network rules and state laws change; confirm current requirements for your business.


