Payment Gateway Charges For WHMCS

From ModulesGarden Wiki
Jump to: navigation, search


About Payment Gateway Charges For WHMCS

Payment Gateway Charges For WHMCS allows you to charge additional fees and set up discounts for the usage of a chosen payment gateway.

With this module you can easily set products, addons and TLDs that should require an additional fee, and select clients who will be exempt from fees and discounts.
On top of that, you will also be empowered to define multiple steps of charges as well as discounts which shall be taken depending on the invoice amount.
Finally, the module will enable you to lay down your own conditions for the application of charges and discounts involving client groups, countries and currencies.

  • Features:
✔ Display Charge Or Discount Rates Depending On Available Gateways
✔ Display Calculated Rates For Chosen Gateways
✔ Create Multiple Billing Rules For Gateways
✔ Choose Calculation Method For Charge Or Discount Per Rule:
✔ Percentage
✔ Fixed Amount
✔ Toggle Charging After Tax Application
✔ Toggle Tax Application To Charge
✔ Set Billing Calculation Methods:
✔ Standard
✔ Alternative (e.g. PayPal)
✔ Create Multiple Steps With Minimum Invoice Value To Apply Fees And Discounts
✔ Create Multiple Rule Activation Conditions For:
✔ All Clients
✔ Chosen Clients
✔ Chosen Client Groups
✔ Clients Or Groups With Specific Currencies
✔ Clients Or Groups With Specific Countries
✔ Perform Bulk Actions To Mark As Chargeable:
✔ Clients
✔ Products
✔ Addons
✔ TLDs
✔ Toggle Visibility Of Charge Rates In Client Area
✔ Define Charge Format Displayed On Invoice
✔ Define Div Tag For Custom Order Template Integration
✔ Access Module Logs
  • Supported Order Form Templates:
✔ Boxes
✔ Cloud Slider
✔ Modern
✔ Premium Comparison
✔ Pure Comparison
✔ Standard Cart
✔ Supreme Comparison
✔ Universal Slider
✔ Other Custom Templates
  • General Info:
✔ Supports All Payment Gateways
✔ Supports Mass Payment Functionality
✔ Integrated Which All Order Form Templates
✔ Multi-Language Support
✔ Supports PHP 5.4 Up To PHP 7
✔ Supports WHMCS Template Six
✔ Supports WHMCS V7.1 And Later


This tutorial will show you how to successfully install and configure Payment Gateway Charges For WHMCS.

We will guide you step by step through the whole installation and configuration process.

Note: If you are using Payment Gateway Charges For WHMCS in any version prior to v2.x, read about it here.

1. Log in to our client area and download the module.
2. Extract the downloaded file into the main WHMCS directory.

The content of the package should look like this.

3. When installing Payment Gateway Charges For WHMCS for the first time, you have to rename the 'license_RENAME.php' file.

The file is located in 'your_whmcs/modules/addons/PaymentGatewayCharges/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'.

4. In order to configure your license key, you have to edit the previously renamed 'license.php' file.

Enter your license key between the quotation marks as presented on the following screen. You can find your license key in our client area → 'My Products'.

5. Now, set up the 'storage' folder as recursively writable.

This folder is available at 'your_whmcs/modules/addons/PaymentGatewayCharges/' .

PGC4 4.png
6. Now you have to activate the module in your WHMCS system.

Log in to your WHMCS admin area. Go to 'Setup' 'Addon Modules'. Afterwards, find 'Payment Gateway Charges' and press the 'Activate' button.

7. In the next step you need to permit access to this module.

To do so, click on the 'Configure' button, tick 'Full Administrator' and press 'Save Changes'.

8. Congratulations, you have just successfully installed Payment Gateway Charges For WHMCS!

You can now access your module from 'Addons' 'Payment Gateway Charges'.


Configuration and Management

Payment Gateway Charges For WHMCS allows your customers to manage additional charges in your WHMCS system.

In this short guide we will present you the possibilities of our module.

Gateways Settings

Once you access the addon, you will be moved directly to its configuration. Here you can decide for which gateways the additional charges or discounts will be applied, according to their settings and rules.

Start by selecting 'Settings' .

Here you can define the following settings:
  • Status - toggle to enable or disable charges for a chosen payment gateway
  • Charge After Taxing - if enabled, the charge will be applied to an already taxed item
  • Apply Tax To Charge - enable to impose taxes on charges. Note: taxes will not be applied for discount rules
  • Billing Type - choose between 'Standard' or 'Alternative (e.g. PayPal model)' - the differences are explained in the further part of documentation
  • Show In Charges Table - if enabled, the charges and discounts configured in the rules of this gateway will be displayed in the table at the checkout.
Billing types explanation:
  • Standard - when this type is selected, the total fee will be calculated in a standard manner, taking account of the full amount charged for the products in the cart.
  • Alternative (e.g. PayPal model) - when this method is selected, the fee will be calculated in such a way so that it matches e.g. the PayPal's method of charge calculation.
    Note: when this option is selected, the 'Alternative' billing type will be applied to every activated payment gateway, not only PayPal.
Please notice at the table below that the final price which a client is obliged to pay and the amount that will be sent e.g. to PayPal slightly vary between the two presented methods.

Product Price: $124.00
Gateway Fee: 5%

Method Base Fee Total Amount With Charge
Standard 124 * 0.05 = $6.20 124 + 6,20 = $130.20
Alternative (124/0.95) - 124 = $6.53 124 + 6,53 = $130.53
So, the total amount to be paid by the client would be $130.20 for the standard method and $130.53 for the alternative, PayPal method.

Now, let us see in reverse how these total fee amounts would look like if both were the result of calculations using an alternative method only.
This will help you better understand why it is advised to choose the alternative method for some payment gateways like PayPal.

Total Calculation Method 5% Fee From Total Amount With Charge
From Standard 130.20 * 0,05 = $6.51
From Alternative 130.53 * 0.05 = $6.53
So, if you are using PayPal and want to receive a full $124.00 amount for a product with a 5% gateway fee, a payment of $130.53 should be sent to PayPal gateway.
$6.53 will cover PayPal fees which is 5% of the total amount to be paid by the client.

In case of the $130.20 amount calculated using the standard method, the 5% PayPal fee would be $6.51, which, after deducting from the total, would result in $123.69 amount for the product itself.

Method Amount With Charge 5% Fee Amount Which Would Be Received
Standard $130.20 $6.51 130.20 - 6.51 = $123.69
Alternative $130.53 $6.53 130.53 - 6.53 = $124.00

Gateways Rules

In the rules section, you can set a percentage or a fixed amount of billed charges or discounts.

To set the rules, first press 'Show Rules' located next to the chosen payment gateway.

Next, press the 'Add Rule' button.
Here you can name the rule and define a charge for the gateway in a percent form, fixed amount or both.
Important: At least one gateway condition must be added to the rule for it to work. You can find a description of adding conditions to rules here.
The following examples assume that gateway conditions have already been created.

The result of the above rule will be a 5% charge of the product price (which in this example is $100.00) with additional $1.00 charge for the selected 2Checkout payment gateway (using 'Standard' billing type method).

You can also set negative amounts. Then, a discount will be applied to a chosen gateway instead of charging an additional fee.
The result of the above rule will be a 5% discount of the product price (which in this example is $100.00) with additional $1.00 reduction for the selected 2Checkout payment gateway (using 'Standard' billing type method).

Steps Rules

You can also add additional steps to your rules and define above which minimum amount on the invoice the additional fee or set discount will be applied.

To start, press 'Show Steps' next to the created rule.

Now, you need to add your first step. Press the 'Add Step' button.
To create a rule, enter the percentage or fixed amount of the desired charge or discount.

Then, specify the minimum required amount that will trigger the rule.

You can create as many steps as you want. Each of these step rules will be activated only after the minimum invoice amount has been achieved.

Note that only one step rule can be active at a time. Also, if none of the step rules is met, then the main rule created in the previous section will be applied. In this example, it is the rule for orders below $50.00 amount.


Gateways Conditions

You can also specify multiple conditions that will affect activation of the rule.
Note that at least one condition has to be created to make the rule applicable.

Start by choosing the 'Show Conditions' button next to the selected rule.

Next, press the 'Add Condition' button.
You can select one of several conditions that will determine the activation of the rule.

Choose between the following types:

  • User:
    • Client - activate the rule only for a selected client
  • Group:
    • Clients Group: - activate the rule for selected client groups
    • Currency - you can also specify which currency should be used by the selected group
    • Country - optionally, choose from countries that the selected group of clients should come from
  • All - by choosing this condition, you will make the rule applicable to all of your customers. Optionally you can also add to this rule:
    • Currency - the rule will be triggered for every client with the selected currency
    • Country - apply the rule for every client from the selected country
Important: some conditions may be combined with one another to provide more possibilities for triggering the rule, but they should not overlap.

If you encounter a validation error when adding a condition, make sure that there are no conflicts with conditions configured under this or other rules.


Management of Items

To enable or disable gateway charges and discounts for products, addons or TLDs, go to the 'Items' section.
Then, select the category of items and simply toggle the 'chargeable' status next to the selected item.

Note: For convenience, all new and already existing items are set to 'chargeable' by default.

You can also toggle multiple 'chargeable' statuses at once by selecting items and using bulk action.

Management of Clients

To enable or disable gateway charges and discounts for your customers, go to the 'Clients' section.
Then, simply toggle the 'chargeable' status next to the selected client.

Note: For convenience, all new and already clients items are set to 'chargeable' by default.

You can also toggle multiple 'chargeable' statuses at once by selecting clients and using bulk action.


In this section you can customize the basics of the module's settings such as:
  • Show Charge - toggle to show charge on the order for a client. Click here to see the example.
  • Show Charges Table - if toggled on, the box with gateways details of additional payments on the order form will be visible for a client. Click here to see the example.
  • Format Charge - here you can define the format of the discount or charges displayed on the invoice. Click here to see the example.
    You can use these variables to define it:
    • :mainText: - by default displayed as 'Payment Gateway Charge' or 'Payment Gateway Discount' depending on the gateway rule configuration.
      You can change the displayed text in a language file by editing 'InvoiceItemTextCharge' and 'InvoiceItemTextDiscount' records.
    • :gatewayName: - the name of the payment gateway to which a charge or discount was applied.
    • :discount: - the calculated discount amount
    • :price: - the calculated charge amount. Note: if applied, this amount will also include the tax.
    • :priceWithoutTax: - the calculated charge amount without any tax applied
    • :tax1: - calculated level 1 tax of the charge
    • :tax2: - calculated level 2 tax of the charge
    • :fullTax: - the sum of calculated level 1 and level 2 tax of the charge
  • Select Order Template - choose the order templates you use to determine where the charges table is displayed.
    If you are using custom template, please select 'Use Charges Table Tag' and set the field below.
  • Charges Table Tag - if you are using custom template, here you can determine where the charges table will be displayed.
    In that case, define the custom tag element from your template, after which the charges table will appear, e. g. div#creditCardInputFields.
    Note that the provided tag name should be unique in your template! Otherwise, the integration may be injected into uncontrolled positions.


In the logs section you can see which invoices have been calculated with additional discounts or charges resulting from the module's configuration.
Note that you can also delete multiple logs at once.


1. For your convenience, payment gateway charges are enabled by default for clients, products, addons and domains.
2. Taxes will not be applied to gateway discount rules even if 'Apply Tax To Charge' option is enabled.
3. You can easily change all names of module elements displayed in the client area, admin area or invoices in a language file.

To do so, go to the 'your_whmcs/modules/addons/PaymentGatewayCharges/langs' directory, open the language file (e.g. english.php) and edit desired records.

Update Instructions

Essential guidance through the process of updating the module is offered here.

Keep in mind there is a quick and easy option in our client area that will let you upgrade the license of your module to an open source version at any time - and at a lower price!
To take advantage of it, simply use the 'License Upgrade' button located on the product's page and a discounted invoice will be generated automatically.


Note that while using the 1.X version of our module, no data can be migrated. This is due to the fact that we did not implement the migration from any of the previous versions of Payment Gateway Charges, so the module needs to be configured from scratch.

Note: Remember that if you wish to switch to the latest version, you need to reissue your license first.

Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
2. In the current version, if a promotional code is used by the client, the amount of charge will not be changed as it will continue to be calculated from the basing item price.
The ability to recalculate the charge after using a promo code will be restored in future versions.
Personal tools

WHMCS Modules
cPanel Modules
Magento Extensions
Magento Themes
PrestaShop Modules
Blesta Extensions
Payment Gateway Charges For WHMCS