
WooCommerce cash on delivery fee – in 2 easy steps
You’ve got ‘cash on delivery’ as a payment option in your store but you want to add an extra charge to customers who pay using this method. In this article I’m going to show you how to set up a WooCommerce cash on delivery fee in two easy steps. It’ll take you less than five minutes.
We’ll also look at some optional extras, like setting minimum or maximum order values for when the fee applies, whether to include shipping costs, and whether to apply tax.
Top 3 reasons to apply a fee to cash on delivery payments
There are probably thousands of reasons you might want to charge extra for cash on delivery in your WooCommerce store. Here are the top three:
- It requires additional resources for you to be serving online customers in person
- You might find that customers who purchase using this method aren’t always there when you deliver – meaning that you need to spend extra time returning products to stock and cancelling orders
- If your products are perishable, like food items, orders that don’t get delivered can lead to wastage
In an ideal world, you’d get the payment upfront and online – but this might not be practical.
How much extra should you charge?
This will depend on your store and your products. The only person who can really know the answer to this question is you.
However, there are a couple of things to keep in mind:
- You don’t want to make the extra charge too high as it might lose you some sales
- You could apply the extra fee as a fixed amount or a percentage of the total order cost
How to create a WooCommerce cash on delivery fee – 2 easy steps
To add your WooCommerce cash on delivery fee, you’ll need a copy of the WooCommerce Fees and Discounts plugin. With this plugin installed you’ll be able to add the fee within a couple of minutes.
Step One: Enable payment gateway settings
Once you’ve installed and activated the Fees and Discounts plugin, go to its settings page at WooCommerce > Settings > Fees and Discounts.
Make sure the ‘Enable Payment Gateway Fees and Discounts’ option is selected.

Step Two: Add the fee
From the settings page, click the ‘Payment Gateways’ submenu under the main tabs. You’ll get another submenu that lists all the payment gateways active on your site. Click on ‘Cash on delivery’.

Now you define exactly how you want to apply your WooCommerce cash on delivery fee. Let’s look at each of the settings:
Label
Enter the text that you’d like to display on the checkout page for the additional fee.
Type
Choose what kind of fee (or discount) you want apply. This can be a fixed amount or a percentage.
Amount
Enter the amount of the fee. If you chose percentage for the fee type, then the value you enter here will be the percentage.
Include shipping costs
If you want to include the shipping costs in the overall order, then check this option.
Minimum and maximum amounts
Maybe you only want to add a cash on delivery fee for orders under or over a certain value. Enter the amounts here.
Apply tax
Select the ‘Apply tax’ option to add tax to the cash on delivery fee. You can choose the tax class from the field below.
Seeing the cash on delivery fee at checkout
Now, when the customer chooses the cash on delivery fee at checkout, they’ll see an extra charge.

What happens if the customer changes their payment method?
But wait – maybe your thinking that this charge will still be there if the customer changes their mind. No – if the user changes their payment gateway then the charge will automatically be removed and the checkout fields will update.
Apply a discount to cash on delivery payments in WooCommerce
Of course, adding a fee to your cash on delivery payments might be the opposite of what you want to do. Perhaps, you want to offer the customer a discount for paying this way.
If so, then all you need to do is set the ‘Type’ field to a fixed or percentage discount. Then users will get money off their order if they choose cash on delivery.
Further payment gateway based fees and discounts
That’s it – two easy steps for creating your WooCommerce cash on delivery fee. If you’d like more ideas on payment gateway based fees and discounts, take a look at this article.
And don’t forget the Fees and Discounts plugin – the easiest way to add your WooCommerce cash on delivery fee.
Great work Gareth. Just wondering, is there a way I can make the customer instantly pay a small fee on checkout if they’ve chosen cash on delivery as an option? For example, can I make them pay instantly pay $2 upon check out if the payment method selected is COD?
Thanks in advance.
Hi
You can add a $2 fee to the order if the user chooses COD, yes.
Thanks
Gareth