Payment and Shipping Method Checkout Fee for WooCommerce

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

  • You can find the configuration under WooCommerce Settings Checkout Fee.
  • Setup is that simple.
  • Frontend.

Installation

  1. Upload the plugin folder to /wp-content/plugins/ or install via the WordPress Plugins screen.
  2. Activate the plugin through the Plugins menu in WordPress.
  3. 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_tables and cart_checkout_blocks.

Reviews

November 28, 2023
It’s working great, but payment operators takes also its fee from shipping costs which clients have to pay too. So I changed at file checkoutfee.php from: $originalNumber = WC()->cart->get_cart_contents_total(); to: $originalNumber = WC()->cart->get_cart_contents_total() + WC()->cart->get_shipping_total(); and it’s now adding to the fee the shipping costs – so working now as I wanted 🙂 Greetings!
July 11, 2023
A very important and necessary plugin for all E-Commerce SitesThank you very much. Health for your effort. Nice and very useful plugin.
December 30, 2022
It does it’s work and for free! I made it with it. Ads in brackets the percentage you set e.g.”(2%)” to the title that customers read. It’s % of the products in the order (does not include the shipping fee).An idea for future versions might be adding: “fixed amount” fee option to make the % fee from the total (so that includes also the shipping) Option to set fees to turned off payment methods (as PayPal stays turned off for currencies that it does not support but still works for the non-default currencies that the website supports) Thanks a lot to the Vipe team for that plugin! It saved me 150 USD for other plugins at least…
December 24, 2020
Very easy to install and it works. But….I would rather work with a fixed amount, is that possible in future? gr Linda
Read all 5 reviews

Contributors & Developers

“Payment and Shipping Method Checkout Fee for WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

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 the woocommerce domain).
  • 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_scripts and 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.