Skip to content
New Get a free, no-obligation SEO audit of your website. Claim yours

How to Reduce Fake Cash on Delivery Orders in WooCommerce

Stack of courier parcels waiting for cash on delivery dispatch

To reduce fake cash on delivery orders in WooCommerce, make COD harder to abuse rather than removing it: confirm every COD order by phone or OTP before dispatch, take a small advance (such as the delivery charge) on risky orders, limit COD by cart value, product and location, and block repeat offenders. Combining three or four of these rules usually catches far more fake orders than any single fix, without turning away the real buyers who rely on COD.

Cash on delivery is still the payment method many Bangladeshi shoppers trust most, which is why so many stores cannot simply switch it off. Softwix builds WooCommerce stores through our WordPress development service and develops our own checkout plugins, so this guide focuses on practical settings and workflows, with free and paid options side by side.

Reducing fake COD orders at a glance

Tactic What it stops Effort Cost
Phone confirmation before dispatch Prank orders, wrong numbers, impulse orders Staff time per order Low
SMS OTP at checkout Fake or mistyped phone numbers, bots One-time setup Plugin plus SMS credits
Advance delivery charge via bKash or Nagad Buyers with no intention to pay Low None beyond gateway fees
Conditional COD rules (cart value, products, area) High-value and high-risk losses One-time setup Free plugin available
Blacklist and courier history checks Repeat refusers Ongoing Low
Bot protection on checkout Automated spam orders One-time setup Free

What counts as a fake COD order?

A fake COD order is any cash on delivery order where the buyer never intended to pay, or cannot be reached, so the parcel comes back. The cost is real even though no money changed hands at checkout.

Common types on WooCommerce stores:

  • Prank or malicious orders placed with someone else’s phone number or a made-up address.
  • Impulse orders where the buyer changes their mind before the rider arrives.
  • Duplicate orders placed several times by mistake or across competing shops, with only one accepted.
  • Bot orders submitted automatically through an unprotected checkout.
  • Competitor sabotage, where someone ties up your stock and courier budget on purpose.

How much do fake COD orders cost a store?

Each refused parcel costs you the outbound delivery charge, often a return charge, packaging, staff time and stock that sat unavailable for days. On fragile or perishable items, you may also lose the product itself.

Bangladeshi courier charges are typically in the region of BDT 60–80 inside Dhaka and BDT 110–150 outside Dhaka for a light parcel, though rates vary by courier, weight and your contract. A store sending 300 COD parcels a month with even a modest refusal rate can lose tens of thousands of taka a month on delivery alone.

Work out your own number before choosing tactics:

  1. Count last month’s COD orders and how many were returned or refused.
  2. Multiply refused parcels by your average delivery plus return charge.
  3. Add packaging and an estimate of staff time.
  4. Compare that monthly figure with the cost of the fixes below.

How do you confirm COD orders before shipping?

Hold every new COD order until a person or an OTP confirms it, and only then hand it to the courier. This single step catches most wrong numbers and prank orders.

Use order statuses as a confirmation queue

By default, the WooCommerce Cash on Delivery gateway sets new orders to Processing. WooCommerce’s order status documentation describes Processing as an order ready for the warehouse to ship, so a busy team may dispatch before anyone checks it.

A safer workflow:

  1. Treat new COD orders as “to confirm”, either with an order-status plugin that adds a custom status or by moving them to On hold.
  2. Call or message the buyer within a few hours, confirm the name, full address, product and total.
  3. Move confirmed orders to Processing and book the courier.
  4. Cancel orders that cannot be reached after two or three attempts. WooCommerce returns stock to inventory on cancellation when stock management is enabled.

Add SMS OTP verification at checkout

OTP verification makes the buyer prove they own the phone number before the order is placed. It removes most fake numbers and many bot orders, at the cost of a little extra friction.

Several plugins handle this. For example, COD Guard on the WooCommerce Marketplace requires SMS OTP for COD orders and supports Twilio, MSG91 and Fast2SMS, plus phone and email blacklisting. Check that any OTP plugin you choose works with an SMS provider that delivers reliably to Bangladeshi numbers, and budget for SMS credits.

Should you ask for an advance payment on COD orders?

Yes, for orders above a certain value or from new customers. Asking for the delivery charge in advance through bKash, Nagad or a card filters out most people who never meant to pay, because a fake buyer will not send money.

Ways to apply it fairly:

  • Delivery charge in advance: the buyer pays shipping now and the product price on delivery.
  • Partial advance: a fixed amount or percentage on high-value items such as electronics.
  • Full prepayment only: for custom-made, perishable or very expensive items.

Explain the rule clearly on product and checkout pages, so buyers know before they order. If you are choosing which mobile and card gateways to offer, our guide to WooCommerce payment gateways in Bangladesh compares the main options.

How do you limit COD to low-risk orders?

Use conditional payment rules so COD only appears at checkout when the order fits your risk limits. Buyers outside those limits still see bKash, Nagad or card payment, so you keep the sale.

Rules that tend to work well:

Rule Example Why it helps
Cart total cap Hide COD above BDT 10,000 Limits your loss on any single refusal
Product or category exclusion No COD on phones, custom prints, perishables Protects items that are expensive or cannot be resold
Item count limit Hide COD on carts with more than 5 items Stops bulk prank orders
Location rule COD only for selected districts or shipping methods Avoids areas with high return rates or costly couriers
Customer status COD only for logged-in customers or certain roles Rewards known buyers, adds friction for anonymous ones
Coupon rule Hide COD when a heavy discount code is used Discount hunters often refuse delivery

Setting COD rules with Beep Conditional Payments

Softwix’s own plugin, Beep Conditional Payments, is free on WordPress.org and was built for this kind of rule. Its visual rule builder lets you enable, disable or reorder payment gateways at checkout based on products, variations, categories, tags, cart total or subtotal, item count, billing and shipping fields, shipping methods, coupons, login status and user roles.

A typical anti-fake-order ruleset looks like this:

  1. Disable Cash on Delivery when cart total is above your limit.
  2. Disable Cash on Delivery when the cart contains products from high-risk categories.
  3. Disable Cash on Delivery for shipping methods that serve areas where returns are frequent.
  4. Keep bKash, Nagad or card visible in every case, so the buyer can still pay.

It works with both the classic and block checkout, and you can export and import rulesets between stores. The Pro version adds gateway fees (useful for a small COD surcharge), customer purchase history rules, shipping zones and GeoIP conditions. Details are on our products page.

Other conditional payment plugins exist, and some OTP plugins, such as COD Guard, include basic cart value and product restrictions. If you only need a single “hide COD above X” rule, those can be enough. For the wider topic, see our guide to WooCommerce conditional payment methods.

How do you stop repeat fake buyers?

Keep a list of phone numbers and addresses that refused delivery, and hide COD or block orders from them. When the same numbers come back, a simple list stops them at checkout instead of at the doorstep.

  • Blacklist by phone and email: some OTP and anti-fraud plugins hide COD automatically for listed customers.
  • Courier history checks: several Bangladeshi plugins and services look up a phone number’s past delivery success across couriers. Test them carefully, as data coverage and accuracy vary.
  • Order notes: tag refused orders in WooCommerce so staff can see history when the same number orders again.
  • Purchase history rules: offer COD only to customers who have completed at least one previous order, and ask first-time buyers for the delivery charge in advance.

Handle customer data responsibly. Store only what you need, and do not share blacklists publicly.

How do you block bot and spam orders?

Add invisible bot protection to the checkout and limit how often one visitor can submit orders. Bot orders are less common than human fake orders, but they arrive in bursts and can bury real orders.

Google’s reCAPTCHA v3 documentation explains that it scores each request from 0.0 (very likely a bot) to 1.0 (very likely a good interaction), with 0.5 as the suggested starting threshold. Cloudflare Turnstile is a common alternative. Combine either with:

  • Rate limiting checkout submissions at the server or firewall level.
  • Required, validated phone fields (correct length and prefix for Bangladeshi mobiles).
  • A review of your guest checkout setting. WooCommerce’s Accounts and Privacy settings let you keep “Enable guest checkout” on while also offering account creation during checkout.

Our WordPress security checklist covers firewall and login protection that also helps here.

Can better product pages reduce COD refusals?

Yes. Many refusals are not fraud; the buyer expected something different, or waited too long and bought elsewhere. Clear pages and fast dispatch remove those reasons.

  • Show real photos, exact sizes and materials, so the parcel matches expectations.
  • State the total including delivery before checkout, not on the phone call.
  • Give a realistic delivery time and dispatch within it.
  • Send an SMS or WhatsApp update with the courier tracking number when the parcel leaves.
  • Make your return or exchange policy easy to find.

Which tactics should you start with?

Start with the cheapest tactics that cover the most orders, then add more only if returns stay high. A sensible order for most stores:

  1. Week 1: phone or WhatsApp confirmation before dispatch, and bot protection on checkout.
  2. Week 2: conditional rules to hide COD above a cart value and on high-risk products.
  3. Week 3: advance delivery charge for first-time buyers or orders outside your main delivery area.
  4. Ongoing: blacklist refusers and review your return rate every month.

Measure the COD refusal rate before and after each change, so you know which rules are earning their keep and which are only adding friction.

Frequently asked questions

Should I turn off cash on delivery completely?

Usually not. Many shoppers in Bangladesh prefer COD, and removing it can cut genuine orders more than it saves on returns. Restrict it with rules for cart value, products and location instead, and offer bKash, Nagad or card as the alternative.

Is OTP verification worth the extra checkout step?

For stores with frequent wrong numbers or prank orders, yes. OTP proves the buyer owns the phone number and stops most bots. If your fake order rate is low, a confirmation call may be enough, and you can apply OTP only to COD rather than all payment methods.

Can I charge an extra fee for cash on delivery in WooCommerce?

Not with the built-in COD gateway alone. You need a plugin that adds gateway fees, such as the Pro version of Beep Conditional Payments or a fee-focused plugin. Show the fee clearly at checkout so it does not surprise the buyer.

How do I hide COD for orders above a certain amount?

Use a conditional payments plugin and create a rule that disables Cash on Delivery when the cart total exceeds your limit. The free Beep Conditional Payments plugin supports cart total and subtotal conditions on both classic and block checkout.

Do courier fraud-check tools work reliably?

They can help, but treat them as one signal, not a verdict. Their results depend on which couriers share data and how up to date it is. Combine them with your own refusal records and a confirmation call before refusing an order.

Get help protecting your WooCommerce checkout

Fake COD orders are a checkout design problem as much as a customer problem, and the right rules depend on your products, margins and delivery areas. If you want help setting up confirmation workflows, OTP or conditional payment rules, contact Softwix and we will review your checkout and suggest a setup that protects your margin without turning away real buyers.

Written by softwix

Part of the Softwix team — helping businesses grow through SEO, marketing and better websites.

Keep reading.

Leave a comment

Your email address will not be published. Required fields are marked *

Let’s build what’s next

Ready to grow faster?

Tell us where you want to be in 12 months. We’ll show you the shortest route to get there.