Pay for Payment for WooCommerce

Pay for Payment for WooCommerce

By Karolina Vyskocilova

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 Checkout 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

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

Just follow the standard WordPress plugin installation procedere.

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.

I want to use the latest files. How can I do this?

Use the GitHub Repo rather than the WordPress Plugin. Do as follows:

  1. If you haven’t already done: Install git

  2. In the console cd into Your ‘wp-content/plugins´ directory

  3. type git clone https://github.com/vyskoczilova/woocommerce-payforpayment or better type git fork https://github.com/vyskoczilova/woocommerce-payforpayment

  4. If you want to update to the latest files (be careful, might be untested on Your WP-Version) type `git pull´.

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.

2.1.9 (2025-04-01)

  • Fix: Tax class settings not being saved properly in payment gateway configuration.
  • Call for beta testers: New features are coming in Q2 2024—and I’m looking for folks to help test them out!

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)

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)

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)

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)

2.0.14 (2020-01-16)

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

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 of global $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
Version
2.1.9
Last Update
15 days ago
Download
298,248+
Tested up to:
6.7.2
Categories:
General

Screenshots

Alternative Plugins for Pay for Payment for WooCommerce

Everything you need to launch an online store in days and keep it growing for years. From your first sale to millions in revenue, Woo is with you.

Categories: Ecommerce

Accept PayPal, Credit Cards and Debit Cards on your WooCommerce store.

Categories: General

Take credit card payments on your store using Stripe.

Categories: General

Make your store multilingual and enable multiple currencies.

Categories: General

Adds a button in TinyMCE editor allowing use of WooCommerce shortcodes. Beautifully.

Categories: General

Adds a grid/list view toggle to product archives

Categories: General

This plugin allows provide you the option to set the shipping rate based up on the cart price. You can set the cart price range and set the shipping c …

Categories: General

WooCommerce Shipping & Tax offers automated tax calculation, shipping label printing, smoother payment setup, and other hosted services for WooCom …

Categories: General

Allows you to change the buttons color and other elements of WooCommerce. Beautifully.

Categories: General

Discover the Lists with Pay for Payment for WooCommerce

namaroopa before migrate

By lifeofaclickwpfav

vol intsall

By vane vrb

Woocommerce

By Jiří Vohralík

startup

By Vitor Francisco Freitas dos Santos

marketing digital inicial

WooCommerce Plugins

By Jay Llamas

WooCommerce Related

Credit Platform

By Elliot Gerchak

exp

By kan imai

Website - Woo Product Info Price Fee

By Gisar

Website - Woo Product Info Price Fee

Website - Woo Payment Gateway

By Gisar

Website - Woo Payment Gateway

FarrowSystem.EU - ALL Plugins

By Andreas Tyrosvoutis

A save of all the plugins from when it was migrated from multisite. Just for historical purposes.