WooCommerce cash on delivery extra fee – in 2 easy steps

WooCommerce cash on delivery

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. However, when you get to the settings, you see that there’s no way to add a WooCommerce cash on delivery extra fee without a plugin. 

In this article, you’ll learn 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.

What is cash on delivery in WooCommerce

Just as the name suggest, cash on delivery is a payment method in online stores where the customer pays on receiving their product instead of in advance. Even though it’s not as popular nowadays as it was before, thanks to more advanced online payment options, it’s still a requirement for every eCommerce website to include it. 

Some customers prefer not to disclose credit or debit card information online, which makes cash on delivery (COD) an essential part of any business that doesn’t want to lose potential clients. 

Another reason why you would want to include this method is if you offer customized products and you want to let the customer see whether everything is done per their requirements before committing to payment. 

In the end, including cash on delivery can only enrich the user experience by giving them more control over how they purchase products online.

Why you need to set up WooCommerce cash on delivery fee

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:

  • Don’t make the extra charge too high as it might lose you some sales.
  • Apply the extra fee as a fixed amount or a percentage of the total order cost.
  • Consider removing the fee for site members if you have a user role pricing feature to your website. 

You can also remove or lower the cash on delivery fee if the person has ordered above a certain amount and you have tiered pricing enabled.

How to enable 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.

WooCommerce Fees and Discounts

Create powerful pricing incentives quickly and easily

Find Out More

Step One: Enable payment gateway settings

  • 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.
WooCommerce Fees and Discounts settings page

Step Two: Add the fee

  • 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’.
Add a WooCommerce cash on delivery fee

Now you define exactly how you want to apply your WooCommerce cash on delivery fee. Let’s look at each of the settings:


Enter the text that you’d like to display on the checkout page for the additional fee.


Choose what kind of fee (or discount) you want apply. This can be a fixed amount or a percentage.


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.

Cash on delivery fee in the checkout

What happens if the customer changes their payment method?

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.

WooCommerce Fees and Discounts

Create powerful pricing incentives quickly and easily

Find Out More


Does WooCommerce support cash on delivery?

Yes, you can set COD charges in WooCommerce but some users might find their feature quite restricting as it doesn’t allow adding an extra fee for cash payments or a discount. This is why it’s recommended that you go for the specialized WooCommerce Fees and Discounts plugin and enjoy that extra functionality. 

How do I add cash on delivery payment method in WordPress?

You can add a cash payment method in WordPress by going to the WooCommerce payment settings and toggling on the switch named ‘Cash on Delivery’. 

Two comments

  1. 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.

Leave a Reply

Your email address will not be published. All fields are required.