Should you charge a COD fee?

Updated · 5 min read · Trifid Media LLC

Charge a COD fee if collecting cash costs you money on orders that arrive, and if you can show the fee clearly before the order is placed. Don't charge one to stop refusals: the fee is collected at the door with the rest of the money, so a refused parcel brings in nothing, fee included. On Shopify you'll need an app or a workaround, because Shopify can't add a fee to a payment method on its own (checked 26 October 2026).

Can Shopify add a COD fee on its own?

No. Cash on Delivery is a manual payment method. Shopify's help page for manual payment methods lists the fields you can fill in: Additional details, shown next to the method at checkout, and Payment instructions, shown on the order confirmation page. Custom methods also get a name. There's no fee or surcharge field.

Payment customizations can't do it either. These are the Shopify Functions that apps use to change the payment step. Shopify's reference lists what they can do: hide a payment method, move it, rename it, set payment terms (Plus only) and add a review requirement (B2B on Plus only). None of these adds a charge or changes a price.

You can write a sentence about a fee in Additional details, but Shopify won't add the amount to the order. Collecting an extra amount at the door that isn't on the order is a bad idea: the shopper sees a total that doesn't match their order, which is one more reason to refuse.

What does a COD fee cover, and what doesn't it?

A fee works on orders that are delivered and paid. It can cover:

  • the fee your courier charges for collecting cash, if your contract has one
  • the extra work of matching courier payouts to orders
  • the wait before the cash reaches your bank

It does nothing for refused orders. You still pay to ship the parcel out and back, and you collect nothing.

To work out what a refusal costs you in full, see what one refused COD order really costs.

How can you add a COD fee on Shopify?

There are four ways to do it. Each has a weak spot, so test whichever you pick with a real checkout.

A COD fee app

An app adds a charge when the shopper selects COD. Apps do this in different ways, so ask before you install:

  • Does the fee appear in the checkout total before the shopper places the order?
  • Does it disappear if the shopper switches to card or Apple Pay?
  • Is it shown on the order and the invoice, so the courier collects the right amount?
  • Does it work on your Arabic checkout and in every currency you sell in?

A fee product in the cart

You create a product called "Cash on Delivery fee" and ask COD shoppers to add it. Nothing in Shopify forces this, because Shopify doesn't link a product to a payment method. An app with a payment customization could hide COD unless the fee product is in the cart, but shoppers can still remove it or be confused by it. For most stores it's a clumsy option.

A COD shipping rate

Shopify lets you add flat shipping rates with your own name and price under Settings > Shipping and delivery. You could add a second rate, such as "Delivery with cash payment", priced a little higher. Shopify's rate conditions are based on order price or weight, not on the payment method, so on its own nothing stops a shopper from picking the cheaper rate and then choosing COD.

A payment customization can read which shipping option the shopper selected. So an app could show COD only when the COD rate is chosen. Check that your app offers that condition before you rely on this.

Building the cost into prices or shipping for everyone

You raise prices or delivery charges slightly for all orders. It's simple and there's nothing to explain at checkout, but card shoppers pay for cash handling too, and nothing nudges anyone towards paying online.

How do shoppers react to a COD fee?

Shoppers differ from store to store, so judge this from your own orders. Expect a mix:

  • Some shoppers switch to card, Apple Pay or another online method to avoid the fee. That is often the point.
  • Some leave at checkout, especially those who have no way to pay online.
  • A fee that appears late, or only at the door, can feel like a trick and lead to refusals.

Say it everywhere a shopper might look: the product page, the cart, the delivery page and your COD policy. In Arabic, a clear label such as «رسوم الدفع عند الاستلام» (cash on delivery fee) is enough. For a policy page you can adapt, see the COD policy template.

After you start, compare these for a few weeks before and after: the share of orders paid by COD, your checkout conversion rate, and your refusal rate.

What can you do instead of a COD fee?

  • Reward paying online instead. A reward for paying online can feel better to shoppers than a charge for paying cash, even when the money is the same. See nudging shoppers from cash to card.
  • Hide COD only where refusals cost most, such as large carts, first orders or repeat refusers. Khaleeji COD works this way: it hides or renames COD by rule and doesn't charge fees. See how to hide COD above a cart total.
  • Take a deposit, so a refusal costs the shopper something. See partial COD and deposits.

For a side-by-side view of a fee, hiding COD, deposits and OTP, see hide COD, COD fee, partial COD or OTP.

Sources

  1. Shopify Help Center: Manual payment methods
  2. Shopify.dev: Payment customization Function API
  3. Shopify Help Center: Setting up shipping rates

Checked on the date above. Shopify and courier settings change, so check the source if something looks different.

Stop paying shipping twice for refused orders

Khaleeji COD has been submitted to the Shopify App Store and is in review. Email us and we'll tell you the day it's live.

In review for the Shopify App Store · Email: