Description
Add individual charges for each payment method as a flat rate and/or as a percentage of the cart total. The plugin first calculates the percentage rate and then adds the fixed rate on top.
Current version is not compatible with WooCommerce Block Checkou which is default since WC 8.3 please use shortcode for checkout instead. How to guide. I’m working on a new version compatible with block checkout and React settings.
You can use placeholders in the payment item title:
- [FIXED_AMOUNT]: Will print money-formatted fixed amount you entered.
- [PERCENT_AMOUNT]: will print out percental amount you entered
- [CART_TOTAL]: will print out money-formatted cart totals.
- [MINIMUM_AMOUNT]: will print out money-formatted minimum amount you entered when calculating percentage fee.
- [MAXIMUM_AMOUNT]: will print out money-formatted maximum amount you entered when calculating percentage fee.
- Example:
Payment Fee ([FIXED_AMOUNT] + [PERCENT_AMOUNT]% of [CART_TOTAL])
Requires at least WooCommerce 2.6, compatible with WooCommerce 3.2+ (recommended). The support for WC 2.6 will be dropped soon.
Features
- Fixed charge and/or a percentage of cart total
- Possibility to disable for free/zero shipping
- Plugin API. See GitHub for details.
Compatibility
= Current version is not compatible with WooCommerce Block Checkout please use shortcode for checkout instead. How to guide
– Currently not compatible with WooCommerce Stripe Payment Gateway since it’s React powered and I can’t hook in. Use Payment Plugins for Stripe WooCommerce instead for now, waiting for their team to resolve the problem.
– WPML (see FAQ)
– WooCommerce Price Based on Country for WooCommerce & PRO
– Multi Currency for WooCommerce & PRO
– WooCommerce Multi-Currency when the store currency is USD
– YayCurrency PRO
– WOOCS
Limitations
- It seems that Mercadopago gateway is not handling WC_Fee correctly. Get in touch with Mercadopago support (and I’m happy to help them fix the issue)
- Better not use it with PayPal. (Legal issue, see FAQ as well.)
- Doesn’t work on “Pay for order” pages (manually created orders or canceled payments), because of WC limitations
Special Credits
- to Jörn Lund (@podpirate) who have developed this plugin and abandoned it in 2016.
Screenshots
Installation
Just follow the standard WordPress plugin installation procedere.
FAQ
-
Can I use it with PayPal?
-
No. PayPal does not permit charging your customer for using PayPal. This is a legal issue rather than a technical one.
See PayPal User Agreement, > “4.6 No Surcharges” for details.
You have been warned. -
WPML – How to translate?
-
If you need to localize Fee title and Fixed charge go to go to WPML > String translation and look for following type of text domain:
woocommerce-pay-for-payment
and than you should find a strings with name “{payment-method-slug} – charges fixed” or “{payment-method-slug} – item title”. See the second screenshot. -
Can’t to setup my payment requirements in the user interface. The option I need is missing.
-
The plugin user interface only offers either a fixed amout or a percentage of the carts subtotal.
If you need to implement more complex calcuations like ‘no charges for orders above 100 Bucks’ or ‘2% of cart subtotal but at least 2 Bucks’,
you’ll have to use one of the filters. See Plugin API for details.woocommerce_pay4pay_apply specifies if a charge will be applied. woocommerce_pay4pay_applyfor_{$payment_gateway_id} specifies if a charge will be applied on a certain payment method. woocommerce_pay4pay_{$payment_gateway_id}_amount allows you to alter the amount of the charge being added.
-
How can I report security bugs?
-
You can report security bugs through the Patchstack Vulnerability Disclosure Program. The Patchstack team help validate, triage and handle any security vulnerabilities. Report a security vulnerability.
-
I found a bug. Where should I post it?
-
I personally prefer GitHub, to keep things straight. The plugin code is here: GitHub
But you may use the WordPress Forum as well. -
I found a bug and fixed it. How can I contribute?
-
Either post it on GitHub or—if you are working on a cloned repository—send me a pull request.
Reviews
Contributors & Developers
“Pay for Payment for WooCommerce” is open source software. The following people have contributed to this plugin.
Contributors“Pay for Payment for WooCommerce” has been translated into 10 locales. Thank you to the translators for their contributions.
Translate “Pay for Payment 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.8 (2023-07-24)
- Declared HPOS support.
2.1.7 (2022-05-17)
- Update: Add support for WOOCS converter.
2.1.6 (2022-05-13)
- Fix: Don’t deactivate the plugin even when the WooCommerce is not active (keep a notice only).
2.1.5 (2022-03-21)
- Feature: Add
[MINIMUM_AMOUNT]
and[MAXIMUM_AMOUNT]
placeholders to fee title
2.1.4 (2021-10-04)
- Fix: Added compatibility with Eurobank WooCommerce Payment Gateway plugin
2.1.3 (2021-09-16)
- Fix – WPML exchange rates (apply filter
wcml_raw_price_amount
) - Fix – tax class when taxes by cart items is on – applies the highest used tax. Thanks to morvy
2.1.2 (2021-08-19)
- Fix – cost rounding (use
wc_get_rounding_precision()
) – thanks to morvy
2.1.1 (2021-08-17)
- Fix – check if array passe in gateway settings (fixes Mercadopago error)
2.1.0 (2021-07-30)
- New filter introduced
woocommerce_pay4pay_get_current_gateway_settings
(#61) - PHP 8.0 – Unsupported operand types fix (#63)
2.0.19 (2021-06-02)
- Change the plugin name from “WooCommerce Pay for Payment” to “Pay for Payment for WooCommerce” since the WC claims the trademark.
2.0.18 (2021-02-22)
- Fix: add option for Payment tax based on cart items issue
- Tweak: Reflect the number of decimals in WC currency settings instead of rounding to two digits.
2.0.17 (2020-10-15)
- Added compatibility with Multi Currency for WooCommerce
2.0.16 (2020-08-10)
- FIX:
Unsupported operand types
when adding settings to a payment (fixes Mercadopago fatal error) - FIX: Escape tax related settings.
2.0.15 (2020-05-23)
- Slovak translation (thanks to Roman Velocký)
- Fix not loading tax classes in the payment settings
- Support for WooCommerce Multi-Currency when store currency is USD
2.0.14 (2020-01-16)
- Added a compatibility with Price Based on Country for WooCommerce in #51 thanks to Oscar Gare.
2.0.13.3 (2019-09-04)
- Fix: Compatibility with WC 3.7.0 – Move saving settings to
wp_loaded
as WooCommerce does in PR #23091
2.0.12 (2018-02-03)
- Fix: don’t add the fee when order and shipping amount is 0, see 2.0.11 for more details.
2.0.11 (2018-02-03)
- Fix: don’t add the fee when order amount is 0. More details here.
- Updated links in readme and plugin settings.
- Github: implemented Probot
2.0.10 (2018-11-14)
- Critical fix of 2.0.9 bug – COD could be anabled as well for “any” shipping method type (accidentaly slipped out from 2.0.9)
2.0.9 (2018-11-14)
- Fix: Check if COD is enabled for current shipping method otherwise don’t add the fee.
- Update: WC tested up to 3.5.1 and WP 5.0
2.0.8 (2018-10-17)
- Fix: Check if logged in user is VAT exempt
- Update: Return back translations (if installed from FTP, the WP.org translations are loaded after an update/manual install)
- Update: WC tested up to
2.0.7 (2018-02-10)
- Update: WC tested up to
- Fix: added upport for gateways without default option format (#33) and fixed #20, thanks to David de Boer
2.0.6 (2017-10-29)
- Fix: WC compatibility issue (solved in 2.0.4), compatible with both versions of WC
- Fix: problem with WooCommerce Multilingual #24, only in WC 3.2+
2.0.5 (2017-10-29)
- Fix: doubled fee in total
- Fix: negative fee percentage
2.0.4 (2017-10-22)
- Fix: WC_Cart->discount_total argument is deprecated error (by @bolint)
- Fix: backwards compatibility to discount_total
- Added banner & icon image to the WP repository (by Dušan Konečný)
2.0.3 (2017-10-19)
- Fix: Compatibility issues with WC version 3.2 (thanks to Peter J. Herrel)
2.0.2 (2017-07-31)
- Feature: Inner compatibility with WPML – fee title and fixed charges can be localized within “String translation” under “woocommerce-pay-for-payment” domain name. Removed wpml-config.xml.
- Added: Italian and Dutch localization
- Misc: Code tweaks and fixes (#16)
- Fix: $fragment_refresh is not defined (#13)
- Fix: Turn off plugin, if WC is not active
- Fix: Undefined index: woocommerce_cod_pay4pay_tax_class (#12)
2.0.1 (2017-05-22)
- Feature: check WC version, minimum version 2.6 (by @oerdnj)
- Fix: translatable pay4pay_charges_fixed (WPML support)
- Fix: disable on free shipping (for WC 2.6+)
- Fix: disable on zero shipping – added missing settings field
2.0.0 (2017-05-15)
- plugin overtaken by @vyskoczilova
- fully compatible with WC 3.0+
- Added: Czech localization
- Added: Disable on zero shipping (by @panvagenas)
- Fix: support for WC 2.6+ (by @oerdnj)
- Fix: tax_rates notice (by @javierrguez)
1.3.7
- l10n: change textdomain to ‘woocommerce-pay-for-payment’ to make it work with translate.wordpress.org
1.3.6
- Fix: compatibility with Amazon Payments and also with Woocommerce 2.4
- Fix: PHP Warning on shopping basket
1.3.5
- Fix: make it work with stripe for woocommerce by Stephen Zuniga
1.3.4
- Code Refactoring: set plugin textdomain to plugin slug
- Translations: Minor correction in español and german translations
1.3.3
- Feature: Minimum and maximum charges.
1.3.2
- Feature: Deactivate if WooCommerce version is below requirement.
- Fix: Missing Taxes
1.3.1
- Fix Admin: Payment gateway Class not found (may occur with 3rd party gateways)
- Fix: textdomain loading
- Update turkish localisation
1.3.0
- Feature: Enhanced UI
- Feature: Select tax class to be applied to payment fee
- Feature: Select if cart taxes will be included on payment fee calculation
- Feature: Placeholders in fee title.
- Fixes: completely repeat all WooCommerce tax and fee calculation steps after payment fee has been added.
1.2.5
- Fix: incorrect fee calculation.
1.2.3
- Fix: Safely Restrict payment fee to 2 Decimals.
1.2.2
- Fix: Calculate taxes
- Fix: cart contents taxes and shipping taxes included into fee calculation
- Refactoring: Discard cart_has_fee() check, as it is already done by WooCommerce
1.2.1
- Feature: Calculate custom fee
1.2.0 (2014-08-09)
- Feature: add option to disable payment fee when free shipping is selected
- Feature: add pay4pay column in WooCommerce checkout settings
- Plugin-API: add filter
woocommerce_pay4pay_apply
- Code Refactoring: separated admin UI from frontend to keep things lean.
- Code Refactoring: use function
WC()
(available since WC 2.1) in favour ofglobal $woocommerce
. - Compatibility: requires at least WC 2.1.x,
1.1.1
- Added wpml configuration file to keep compatibility with https://wordpress.org/plugins/woocommerce-multilingual/
1.1.0
- Added option to include shipping cost in fee calculation
- Fixed issue where malformed amounts where sent to external payment services in WC 2.1.6
1.0.2
- Fixed an issue where Pay4Pay options did not show up after saving checkout settings in WC 2.1.0
- Updated turkish translation (Thanks a lot!)
1.0.1
- Fix plugin URL
1.0.0
- Initial release