You can add fees or discounts on checkout page based on the payment gateway option that the customer selects. Say you want to charge a fee of $10 when customer selects Cash on Delivery payment option on Checkout. This is possible by adding various settings in Payment Gateway Based Fees and Discounts for WooCommerce Pro plugin. Let us discuss General settings in this post.
How this works?
Once your plugin is active, you will find a new tab named Payment Gateway Based Fees and Discounts under WooCommerce -> Settings. To go to the General settings page, go to WooCommerce -> Settings -> Payment Gateway Based Fees and Discounts -> General.
Default General page appears as shown below:
Default General page display
The General page consists of 7 sections:
1. Payment Gateway Based Fees and Discounts
2. Fees/Discounts per Product
3. General Options
4. Max Range Options
5. Cart Options
6. Advanced Options
7. Reset Settings
Payment Gateway Based Fees and Discounts
Enabling the setting
When you tick the Enable plugin checkbox of Payment Gateway Based Fees and Discounts setting, you will be able to add extra fees or discounts for WooCommerce payment gateways.
Enabling this setting is mandatory for all other setting to work in the plugin. Therefore, only after you enable Payment Gateway Based Fees and Discounts setting, the added settings on Info, Global Extra Fee page and all WooCommerce payment gateways pages (Direct bank transfer, Cheque payments, Cash on delivery and PayPal) will be effective.
By default, this option is enabled.
Fees/Discounts per Product
Under this section, you can add fees and discounts for payment gateways on per product basis.
Payment gateways fees and discounts on per product basis
Enabling the setting
By default, this setting is disabled. When you tick the Enable checkbox, Payment gateways fees and discounts on per product basis settings will add a meta box with fees settings to Edit page of all WooCommerce products.
Meta box with settings
This meta box will list all the WooCommerce payment gateways and custom added payment gateways. The different payment gateways available on your store will appear in tabs form as shown above. Each tab will have Fees/Discounts section, Additional Fees/Discounts section and General section.
Different settings under each sections are explained in detail in Payment Gateway settings post.
Add product title to fee/discount title
This option allows you to add product title to the fee/discount label on the Checkout page of a Variable product. By default, Add product title to fee/discount title option is disabled.
Let us understand this using an example. Consider a variable product Mint Orange Juice – Two where you charge an additional fee of 5% for Direct bank transfer payment gateway. So when this setting is disabled, only fee/discount title which is Additional 5% Fee will be displayed on the Checkout page when Direct bank transfer payment gateway is selected.
Fee/discount title on the Checkout page
Now when you enable this setting, a product title which is Mint Orange Juice – Glasses: Two will also appear with the fee/discount title – Additional 5% Fee.
Checkout page display
This way adding a product title can be useful while adding fees/discounts for variable products.
This section has one setting namely Merge all fees. There are payment gateway fees and Global Extra fee that you can add to an order before customer places the order. So when you enable settings for applying both these fees to the order, then it is displayed separately by default.
But if you enable the Merge all fees option, it will merge both payment gateway fee & global extra fee and display the total as a single fee on the front end.
Enabling Merge all fees option
Let us understand this with an instance. Say you add Payment gateway fee of $10 for Cash on delivery option and Global extra fee of $10 additionally. So when you add a product Choco lava cake in the cart and select Cash on Delivery option on Checkout page, both these fees will be displayed separately.
Displaying both fees separately
Now when you enable the Merge all fees option under General options section, it will combine both these fees and display a total fee on the Checkout page. Hence, it will charge total COD fee of $20 on the order and is displayed on a single line and will show the Fee title which is saved for individual payment gateway.
Display of Total fee on Checkout page
The Merge all fees setting is disabled by default.
Max Range Options
This option allows you to set maximum total discount and maximum total fee that you can apply on the order. This means if you want to give a discount or charge a fee to the customer then it should not exceed the amount you add in this option.
Max Range options
Let us understand both these options using an instance.
Max total discount
You can add maximum discount amount that you want to give to your customer in this setting. To add discount amount, use a negative sign (-). For instance, say you want to give maximum of $20 discount, hence you will add -20 in the Max total discount field.
Adding maximum discount amount
So when you add payment gateways discount, it should not exceed $20. If it exceeds $20, then the applicable discount will be $20 which is set in the Max total discount setting. So say if you add COD discount of $30 and set the Max total discount to $20.
COD discount of $30
This means the COD discount added is more than Max total discount. So on Checkout page, you will see COD discount given is $20 which is maximum, even when you have set COD discount to $30.
Max discount display
By default this option is set to 0. When it is 0, this setting is disabled.
Note – This setting is applicable only when any discount is added in the individual payment gateway otherwise it will not be considered.
Max total fee
You can add maximum fee amount that you want to apply, in this setting. Payment gateway fee will be added when customer selects that particular payment gateway at the Checkout. This fee amount cannot exceed the amount that you add in Max total fee setting. If it exceeds then the amount added in Max total fee field will be applicable.
For instance, say we set the Max total fee to $20. This means maximum of $20 can be charged on an order at Checkout.
Adding amount in Max total fee
Now say you add Cash on delivery fee as $30 in the backend.
COD fee is set to $30
So when a customer selects Cash on delivery option for placing the order, he will be charged a COD fee of $20, even when it is set to $30. This is because the maximum fee to be charged is set to $20 under General settings.
COD fee charged is $20
By default, this is set to 0 and when it is 0, this setting is disabled.
The Hide gateways fees and discounts on cart page setting when enabled, will hide the applicable payment gateway fees or discounts on the Cart page. By default, this setting is disabled and to enable it, tick the Hide gateways fees and discounts on cart page checkbox.
Enabling the setting
Let us understand this using an instance. Say a COD fee of $30 is applied on the order and displayed on the Cart page for Choco lava cake.
COD fee of $30 on Cart page
Now if you wish to hide the COD fee on Cart page, enable the settings. You will see the Cart page displays no COD fee and hence the total amount is $80.
This way you can choose to not display the payment gateway fee on the Cart page but instead calculate the fees on the Checkout page when the customer places the order.
This option allows you to delete all the data stored in the plugin. So when you click the Delete button, all your plugin’s options and products meta will be deleted.
Delete all plugin’s data option
This option will delete all the data permanently which you will not be able to retrieve using any undo action. Hence take utmost care while using this option.
This setting allows you to reset all the settings on the General settings page. Tick the Reset section settings checkbox to reset the settings.
Reset settings option
When you reset the settings, it will enable Payment Gateway Based Fees and Discounts option and set Max Range options to 0. Here when you reset the settings, there is an impact on the front end.
For instance, you add COD Fee of $20 and Extra Fee of $10 in the backend and enable the ‘Merge all fees’ setting. This will merge both fees and display it as COD Fee of $30 on the Checkout page. Now say you reset the General settings, this will disable the Merge all fees setting and hence the front end will display both COD Fee and Extra Fee separately.
Both fees displayed separately
This way Reset setting option has impact on the front end behaviour.