Fees and Discounts for WooCommerce Payment Gateways Plugin

Payment Gateway Based Fees and Discounts for WooCommerce

Payment Gateway Based Fees and Discounts for WooCommerce

Rated 3.83 out of 5 based on 6 customer ratings
(6 customer reviews)

Set fees or discounts for WooCommerce payment gateways.

SKU: N/A. Category: . Tags: , , .


Payment Gateway Based Fees and Discounts for WooCommerce plugin extends WooCommerce by adding options to set fees or discounts based on customer selected payment gateway. This plugin is a full version of free Payment Gateway Based Fees and Discounts for WooCommerce plugin, which has all options fields unlocked.

Fees and discounts can be added to to all payment gateways, both:

  • standard WooCommerce payment gateways (Direct Bank Transfer (BACS), Cheque Payment, Cash on Delivery and PayPal),
  • custom payment gateways added with any other plugin.

Fees and discounts by payment gateway can be set:

  • globally for all products, or
  • on per product basis.

Plugin requires minimum setup – after enabling the fee/discount for selected gateway, you can set:

  • fee/discount value,
  • fee/discount type: fixed or percent,
  • additional fee,
  • minimum and maximum fee/discount values,
  • minimum and/or maximum cart amount for adding the fee/discount,
  • rounding options,
  • taxation options,
  • shipping options,
  • product categories,
  • customer countries.

To set fees/discounts globally for all products, go to WooCommerce > Settings > Payment Gateway Based Fees and Discounts, and select gateway section:

Checkout Fees and Discounts for WooCommerce - Global PayPal Fees Example

Another option lets you set fees/discounts based on customer’s country (include or exclude).

Checkout Fees and Discounts for WooCommerce - Customer Country

Additionally you can set which product categories should be included or excluded when calculating the fee.

Checkout Fees and Discounts for WooCommerce - Product Categories

To set fees/discounts on per product basis, go to product edit, find “Checkout Fees And Discounts” metabox, and select gateway tab:

Checkout Fees and Discounts for WooCommerce - per Product Fees Example

Additionally you can choose if per product percent fee/discount is applied to the whole cart or only for current product.

Also it’s possible to set if per product fixed fee/discount is applied once or by product quantity.

To set discount instead of fee, just enter negative value for fee value.

6 reviews for Payment Gateway Based Fees and Discounts for WooCommerce

  1. Rated 5 out of 5


    Most complete payment fees plugin for WooCommerce I’ve found. Thanks guys!

  2. Rated 3 out of 5



    Just downloaded and tested. Realy nice interface and looks usefull.

    But one thing that stop us.

    We have 2 different VAT values by our products. some have %18 and some have %8. If we choose for example %18 in the plugin for referenece, the VAT of goods with %8 VAT is calculated form the list price and not from the discounted unit price which is wrong.

    If you correct this please soon, we are ready to purchase.

    Best regards

  3. Rated 3 out of 5


    The plugin doesn’t work anymore after the last update.
    Using php7 on the latest wordpress + woocommerce, plugin did work fine before.

    • Algoritmika Ltd.


      Please update to v2.2.2 – this should be fixed now.

      Best regards,

  4. Rated 4 out of 5

    Marian Kadanka

    Currency switching support via ‘wc_aelia_cs_convert’ filter is inconsistent. Filed a bug report at

    • Algoritmika Ltd.


      Fixed in v2.3.0.

      Best regards,

  5. Rated 3 out of 5


    Hi! the plugins calculates the fee but is not adding it to the checkout.

  6. Rated 5 out of 5 (verified owner)

    Works great! I thought the plugin was broken, but realized that I needed to set up BOTH the payment gateway (PayPal) fees AND the general options in order for it to work. Would be lovely if the documentation was updated. Thank you so much for your work!

    V2.3.1 used with WooCommerce V3.2.3 on PHP 7

Add a review

13 thoughts on "Payment Gateway Based Fees and Discounts for WooCommerce"

  1. Florian August 1, 2017 at 2:56 pm #


    I have a problem with an error message: Transaction refused because of an invalid argument.

    2017-08-01T16:50:19+00:00 INFO SetExpressCheckout Response: Array
    [TIMESTAMP] => 2017-08-01T14:50:19Z
    [CORRELATIONID] => 3e13aed9c500b
    [ACK] => Failure
    [VERSION] => 124.0
    [BUILD] => 000000
    [L_ERRORCODE0] => 10431
    [L_SHORTMESSAGE0] => Transaction refused because of an invalid argument. See additional error messages for details.
    [L_LONGMESSAGE0] => Item amount is invalid.
    [L_SEVERITYCODE0] => Error

    I enabled Austria, Germany and Switzerland in the shop. The plugin is configured to change the price from 29€ to 25€ if somebody is from Switzerland and will pay by PayPal. Works great but I can’t finish checkout procedure. I use the latest WooCommerce, WordPress and Plugin Version.

    thx for help


  2. Ian Bartsoen August 14, 2017 at 7:18 am #

    When having a discount that reduces the cart price to zero, it isn’t possible anymore to checkout


  3. chefsyaiful August 14, 2017 at 10:27 pm #

    Hi Need Help on setting up.
    In my country the gateway charger per transaction is 3% and ontop of that the GST6% on fee charges ( based price x 3% > 6%x fee charges > based priced minus (fee + gst) = total received

    How shoud i setup


    • Alan September 18, 2017 at 4:59 pm #

      any answer to this question?


    • Algoritmika Ltd. September 19, 2017 at 3:51 pm #


      I’m not completely sure I understood you correctly, but I think what you need is to set fee “Type” to “Percent” and “Value” to “3”. And at the bottom of the fee settings page, you can find “Taxes” options. There you need to enable the checkbox and set “Tax Class” to 6% tax class. Tax class needs to be created before that (you can do it in WooCommerce > Settings > Tax).

      Again, I’m not sure, but maybe alternatively you can just set fee value to 3.18% instead if 3% (and do NOT check the “Taxes” checkbox). That is: 3 + (3 x 0.06) = 3.18% But I think the first solution is more “correct”.

      Please let me know if that helped.

      Best regards,


  4. chefsyaiful August 14, 2017 at 11:37 pm #

    it work if normal transaction , for me just add on 3.2% but if the item have discount it still charge the gateway fee. how to do it. let say the client purchase a ticket at rm100 and add coupun value rm100 = rm0.00 but the plugin on checkout return , client have to pay rm3.20

    have a look at demo site.
    need help


  5. Manuel August 18, 2017 at 11:15 pm #

    If i have product on sale (with a discounted price) do this apply the discount again over them? or is a way to bypass already on sale products (do it do not apply double discount).



  6. lehmann45 August 24, 2017 at 8:39 pm #


    Anyone know if this plugin works with PayPal Express?

    I enable the option, but it does not work.

    Can anybody help me ?


  7. AussieLes September 1, 2017 at 1:12 am #

    Hi ,

    Great plug in

    I am using WooCommerce subscriptions. I charge a credit card / fee. When the bill is processed it shows 2 credit card fees on the invoice.

    Creditcard surcharge 3%: $0.06
    Credicard surcharge 3% #2: $0.05

    The plug correctly only charges once, but the fee is shown twice?


  8. Smitesh Patel September 15, 2017 at 11:58 am #

    I have installed the Free version and noticed when manually raising an invoice, this plugin does not add the fee depending on the payment gateway choice.

    Is there a fix for this as customers will pay using the wrong gateway leaving us in cashflow issues.




  9. Ajin September 22, 2017 at 7:54 am #

    There is a bug in the plugin. I have configured plugin to add a percentage of fees for a specific payment gateway. Suppose the payment is declined by the user from the Payment Gateway page, it will redirect to woo commerce site telling order received. If the user go to My Orders, he can see the failed order. If he click on Pay button, it shows the checkout page, but this time the fees are not added to any of the gateway as configured before.


  10. Fabio September 25, 2017 at 2:31 pm #

    Hello, the free version works great but the fees that i created for Cash on delivery in the summary orders of Woocommerce is added to the net amount of the products sold and i need it to be addeded to the delivery costs. How can i solve?


    • Fabio September 27, 2017 at 2:31 pm #

      There is someone in this support forum?????


Leave a Reply


= 2.3.1 - 26/08/2017 =
* Dev - Info - %product_price_diff_percent% replaceable value added.
* Dev - Wrapping div (class alg_checkout_fees) added to meta box settings.
* Dev - "General" settings restyled.

= 2.3.0 - 16/08/2017 =
* Dev - "Aelia Currency Switcher for WooCommerce" plugin currency conversion filter added to: get_max_ranges(), min_cart_amount, max_cart_amount, min_fee, max_fee, min_fee_2, max_fee_2.
* Dev - "Coupons Rule" options added.
* Dev - Code refactoring.
* Dev - Settings restyled.

= 2.2.2 - 27/07/2017 =
* Fix - Removed additional check if add_gateways_fees() has already been executed (was added in v2.2.1).
* Dev - "Delete All Plugin Data" option added.
* Dev - Code cleanup etc.

= 2.2.1 - 22/07/2017 =
* Fix - Per Product - custom_atts for fields (step etc.) fixed.
* Fix - Additional check if add_gateways_fees() has already been executed added (this prevents fees duplicating on some servers).

= 2.2.0 - 27/06/2017 =
* Dev - WooCommerce 3.x.x compatibility - Deprecated get_price_excluding_tax(), get_price_including_tax(), get_display_price() notices fixed.
* Dev - WooCommerce 3.x.x compatibility - Deprecated get_formatted_variation_attributes() notice fixed.
* Dev - WooCommerce 3.x.x compatibility - Deprecated get_country() notice fixed.
* Dev - "Add Taxes" option added for both global and per product fees.
* Dev - load_plugin_textdomain() moved from init hook to constructor.
* Tweak - Plugin header updated ("Text Domain" and "Domain Path" added).
* Tweak - Plugin link updated from to

= 2.1.1 - 04/10/2016 =
* Fix - Bug when local and global fees have same title, fixed.
* Dev - "Max Range Options" options section added to "General" settings.
* Dev - "Override Global Fee" (main and additional) option added to per product settings.
* Dev - "Minimum Fee Value", "Maximum Fee Value", "Minimum Additional Fee Value" and "Maximum Additional Fee Value" options added to both local and global fees.
* Fix - Categories restrictions wrongly applied to per product fees, fixed.
* Tweak - "Minimum Cart Amount" and "Maximum Cart Amount" options title modified.

= 2.1.0 - 20/08/2016 =
* Fix - Tax bug fixed when "Categories to include - Calculation type" is equal to "Only for selected products".
* Fix - Tax bug fixed in info.
* Fix - "Categories to include - Calculation type" with value "Only for selected products" fixed when displaying info.
* Dev - "Categories to exclude - Calculation type." option added.
* Dev - "Categories to include (additional fee)." and "Categories to exclude (additional fee)." options added.
* Dev - Version system added.
* Tweak - Author changed.
* Tweak - Plugin renamed.

= 2.0.2 - 06/08/2016 =
* Dev - Multisite support added.
* Dev - "Variable Products Info" option added.
* Dev - "Categories to include - Calculation type" option added to global fees.
* Fix - sanitize_title() added to add_gateway_fees_settings_hook() and removed from output_sections().
* Dev - Language (POT) file added.
* Tweak - Author changed.

= 2.0.1 - 10/03/2016 =
* Fix - Additional checks in add_gateway_fees_settings_hook().

= 2.0.0 - 01/03/2016 =
* Dev - %product_title%, %product_variation_atts% added.
* Fix - Checked tab in admin per product fees is marked now.
* Fix - Info on Single Product bugs fixed: for variable products; for percent fees.
* Dev - Info on Single Product - [alg_show_checkout_fees_full_info] and [alg_show_checkout_fees_lowest_price_info] shortcodes added.
* Dev - Info on Single Product - Lowest Price Info on Single Product Page added.
* Dev - Info on Single Product - %gateway_fee_title% and %gateway_fee_value% removed from info.
* Dev - "Add Product Title to Fee/Discount Title" option added to "General > Fees/Discounts per Product" settings.
* Dev - "Hide Gateways Fees and Discounts on Cart Page" option added to "General" settings.
* Dev - "Exclude Shipping" option added for both global and per product fees.
* Dev - "Title" option added for optional "Additional fee" (per product and global).
* Dev - "Customer Countries" (include / exclude) options added to global fees.
* Dev - "Product Categories" (include / exclude) options added to global fees.
* Dev - Compatibility with "Aelia Currency Switcher for WooCommerce" plugin added (for fixed fees; for percent fees compatibility was already there).
* Dev - "Fee Calculation (for Fixed Fees)" options (once / by product quantity) added to per product fees.
* Dev - "Fee Calculation (for Percent Fees)" options (for all cart / by product) added to per product fees.
* Fix - "General" section in admin settings menu is marked bold by default.

= 1.3.0 - 27/10/2015 =
* Dev - Second optional fee added.

= 1.2.0 - 30/09/2015 =
* Dev - Checkout fees/discounts info on single product frontend page added.

= 1.1.0 - 04/09/2015 =
* Dev - Checkout fees/discounts on per product basis added.

= 1.0.0 - 29/08/2015 =
* Initial Release.


  • Buy the plugin 🙂
  • Download plugin's zip to your computer (you will receive an email with download link, or you can always download the plugin from your account).
  • Go to Admin Dashboard > Plugins > Add New > Upload Plugin and browse for downloaded zip file.
  • If plugin is successfully installed - you should see it added to the Plugins list.


To keep WPCodeFactory items up to date, please install WPCodeFactory Helper plugin and enter your site key.


Name: Payment Gateway Based Fees and Discounts for WooCommerce Pro
Version: 2.3.1
Last updated: 3 months ago
Requires WordPress version: 4.4
Tested up to WordPress version: 4.8
Tested up to WooCommerce version: 3.2.4
Author: Tom Anbinder

Free Version

Support forum