If you sell cash on delivery in Bangladesh, you already know the pain: an order comes in, you pack it, you hand it to the courier — and then the parcel comes back undelivered because the buyer gave a fake number, a careless address, or simply changed their mind at the door. That's a cash on delivery fake order, and it costs you the two-way courier charge plus a full day of work for zero revenue.
This is one of the most common, most frustrating problems in Bangladeshi ecommerce. The good news: a simple phone-OTP step at checkout filters out a large share of these ghost orders before they ever reach your courier. Here's how it works, and how Banikh handles it out of the box.
What a "Ghost" COD Order Actually Is
COD is the backbone of Bangladeshi online shopping. The large majority of buyers still prefer to pay when the parcel arrives, especially first-time customers who don't yet trust a new store.
That trust gap cuts both ways. Because COD lets a buyer place an order without paying anything upfront, it also lets them place an order they never intended to receive.
A ghost order (or fake COD order) usually looks like one of these:
- The fake number — the buyer enters a phone number that's wrong, disconnected, or belongs to someone else, so the courier can never confirm delivery.
- The careless address — a half-written or non-existent address that the courier can't locate.
- The doorstep refusal — the buyer placed the order on impulse, then simply declines the parcel when it arrives.
Estimates for how many COD orders get returned or refused float around, but treat any figure as illustrative, not fixed — the real rate varies by store, category, and season. What's certain is that every seller running COD has felt it. And when reverse-delivery charges apply, you pay to ship the parcel out and to ship it back.
A returned ghost order doesn't just cost the courier fee twice. It ties up your stock, skews your numbers, and burns the time you could have spent on real customers.
Why Phone-OTP Checkout Cuts Fake & Ghost COD Orders
A phone-OTP step is one of the cleanest ways to filter casual fake orders at the source. The idea is simple: before the order is confirmed, the customer enters their phone number, receives a one-time code by SMS, and types it back to verify.
That one step does a lot of quiet work:
- It confirms the number is real and reachable. A buyer using a random or fake number can't receive the code, so they can't complete the order.
- It adds just enough friction to stop impulse fakes. Someone placing a joke or careless order rarely bothers to verify a code.
- It gives your courier a number that actually rings. Most "undelivered" parcels fail because the delivery agent can't reach the buyer. An OTP-verified number is far more likely to connect.
To be honest about what OTP does and doesn't do: it reduces fake orders, it doesn't eliminate them. A determined buyer with a real number can still refuse the parcel at the door. OTP confirms the number is genuine — it doesn't read minds. That's why it works best alongside a courier fraud-history check, which we'll get to below.
How Banikh Handles This (Default-On)
On Banikh, phone-OTP verification at checkout is default-on — you don't have to configure anything. When a customer places a COD order on your store:
- They enter their phone number at checkout.
- They receive a one-time code by SMS.
- They type the code back to confirm before the order is placed.
The OTP screen is a locked step — the order doesn't go through until the number is verified. That means the orders landing in your dashboard already have a confirmed, reachable phone number attached.
You don't pay extra for this, and you don't need a plugin or a developer to switch it on. It's part of how checkout works on every Banikh store, on every plan — including the free one.
Pair OTP With a Courier Fraud Check
OTP filters out fakes; it doesn't tell you a real buyer's delivery history. For that, there's a second layer that experienced sellers use.
A whole ecosystem of "courier fraud checker" tools exists in Bangladesh precisely because ghost orders are so common. These tools look up a phone number's past delivery-and-return record across Steadfast, Pathao, and RedX, so before you dispatch you can see whether that number has a habit of refusing parcels.
The practical workflow most careful sellers land on:
- Let OTP screen every order automatically — it confirms the number is real with zero manual effort.
- Spot-check the risky ones — for high-value or suspicious COD orders, run the number through a fraud-history checker before you hand the parcel to the courier.
- Call to confirm large orders — a 30-second confirmation call on a big-ticket COD order is cheap insurance.
The two layers complement each other: OTP says "this number is real," and the fraud check says "this number has (or hasn't) refused parcels before."
Nudge Buyers Toward Prepaid
The surest way to remove the fake-order risk on an order is for the buyer to pay before it ships. A buyer who has already paid via bKash or Nagad almost never refuses the parcel — they have skin in the game.
You won't move every customer to prepaid, and you shouldn't try to force it — COD exists for a reason, and a large share of buyers genuinely prefer it. But making prepaid effortless shifts some orders over on its own:
- Offer bKash and Nagad one-click checkout right next to the COD option.
- Keep COD enabled for everyone — never punish buyers for choosing it.
- Let the lower-risk prepaid path simply be the easy, obvious choice for those who want it.
On Banikh, bKash and Nagad run through a one-click aggregator integration, and COD is on by default — so your checkout offers both, and the buyer picks what they trust. Payments land directly in your own merchant wallet; Banikh never holds your money.
Common Mistakes to Avoid
Treating every return as the buyer's fault. Some "ghost" orders are really wrong numbers typed in a hurry, or a courier agent who didn't call. OTP and a clear address field fix more of these than blaming buyers ever will.
Forcing prepaid only. Cutting COD entirely will cut your conversions hard — most Bangladeshi buyers expect the COD option. Keep it; just make prepaid easy and verify the phone number.
Skipping the fraud check on big orders. OTP handles the casual fakes. For high-value COD, the 60-second fraud-history lookup is worth it.
Chasing a "zero fake orders" guarantee. No tool gets you to zero. Anyone promising that isn't being straight with you. The realistic goal is fewer fakes, lower return costs, and cleaner data.
The Bottom Line
Fake and ghost COD orders are a real cost of doing business in Bangladesh — but they're a cost you can shrink. A phone-OTP step at checkout confirms the buyer's number is real and reachable, which stops most casual ghost orders before they ever reach your courier. Pair it with a courier fraud-history check on the risky ones, make bKash and Nagad easy for buyers who'd rather prepay, and your return rate comes down.
On Banikh, phone-OTP checkout is default-on, COD works out of the box, and bKash/Nagad one-click checkout sits right alongside it — no plugins, no developer, no extra cost.
Create your free store today — 25 products free forever, no commission on sales, no credit card required.