Description
This plugin lets you attach an extra fee — either a percentage of the cart subtotal or a fixed amount — to any WooCommerce payment gateway or shipping method. Configuration lives under WooCommerce Settings Checkout Fee.
Typical use cases:
- Pass card-processing surcharges to customers paying with specific gateways.
- Add a handling fee for Cash on Delivery.
- Add a packaging/insurance fee for express shipping methods.
Features:
- Per-method configuration — every payment gateway and shipping method has its own settings.
- Choose between a percentage of cart subtotal or a fixed amount.
- Optional taxable flag so the fee can be included in tax calculations when required.
- Customisable fee label shown to the customer.
- Works with the classic checkout and the block-based Cart & Checkout.
- Declares compatibility with WooCommerce High-Performance Order Storage (HPOS).
Screenshots
Installation
- Upload the plugin folder to
/wp-content/plugins/or install via the WordPress Plugins screen. - Activate the plugin through the Plugins menu in WordPress.
- Go to WooCommerce Settings Checkout Fee and configure the fee for each payment or shipping method you need.
FAQ
-
Where is the configuration screen?
-
WooCommerce Settings Checkout Fee.
-
Does the percentage fee include shipping or taxes?
-
No. The percentage is applied to the cart subtotal (line items, before shipping and taxes). Whether the resulting fee is itself taxed is controlled per method by the Taxable option.
-
Will it work with the new block-based Checkout?
-
Yes. The plugin hooks into
woocommerce_cart_calculate_fees, which fires for both classic and block-based checkout. The block checkout automatically recalculates totals when the customer switches payment method via the Store API. -
Is it compatible with WooCommerce High-Performance Order Storage (HPOS)?
-
Yes — compatibility is declared with both
custom_order_tablesandcart_checkout_blocks.
Reviews
Contributors & Developers
“Payment and Shipping Method Checkout Fee for WooCommerce” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Payment and Shipping Method Checkout Fee for WooCommerce” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
2.1.0
- Fix: percentage and fixed fees were never actually added to the cart because of a mismatch between the option key used by the settings UI and the one read at checkout. Fees now apply as configured.
- Fix: activation routine no longer deletes existing per-method settings and no longer force-resets the fee type to “percentage” on every activation.
- Fix: removed
is_plugin_active()call that could fatally error during activation on some hosts. - New: per-method Taxable option (previously every fee was implicitly taxable, with no way to change it).
- New: declares compatibility with WooCommerce HPOS and Cart & Checkout Blocks.
- New: one-time migration of legacy option keys (
{id}_name_label,{id}_name_percent,{id}_fee_type) to a clean, prefixed namespace (pmcf_{id}_*). - New: own text domain
payment-method-checkout-fee-for-woocommerce(previously strings used thewoocommercedomain). - Improvement: configuration now lists every registered payment gateway, not just those available for the current empty admin cart.
- Improvement: scripts are now enqueued via
wp_enqueue_scriptsand only on the checkout page. - Improvement: multi-package carts no longer apply the same shipping-method fee multiple times.
- Cleanup: removed unused Monolog dependency and
vendor/directory, shrinking the plugin download significantly. - Cleanup: removed dead admin page and orphaned admin JS/CSS that were not wired up to anything.
- Tested up to WordPress 6.9 and WooCommerce 10.7.
2.0.1
- Bug fixing with label title.
2.0.0
- Major update with significant improvements.
- Settings moved into the WooCommerce Settings tab.
- Enhanced code quality.
- Added an option to set a fixed fee.
- Added support for shipping method fees.
1.2
- Code Improvement.
- Added checks if WooCommerce is enabled so the website won’t crash if you disable it.
1.0.0
- Initial Release — 19.11.2019.



