Cash on delivery (COD) should be built into an online store as a controlled option, not a default switch: offer it only where it makes sense, state any COD fee before the shopper commits, confirm the order by WhatsApp or OTP before dispatch, and record outcomes so you can see which orders were refused. Done that way, COD lets customers who distrust paying online still buy, without filling your dispatch queue with fake or careless orders. This guide replaces an earlier version of this article that compared logistics partners; that comparison belongs with your operations team, while this version covers what a website developer can actually build and what you should ask your developer for when planning ecommerce website development in Pune.
It is written for owners and managers of small online stores, especially D2C brands selling apparel, home goods or accessories, who either already offer COD or are deciding whether to. It explains where COD helps, the rules a store should apply, the checkout and confirmation flow, how to keep fake orders out, how to measure it, and what to ask a developer. It does not recommend a courier, quote logistics rates or advise on tax; for those, speak to your logistics provider and chartered accountant.
Why COD is a website design question
Many Indian shoppers still like to pay on arrival, particularly for a first order from an unfamiliar store, in smaller cities or for higher-value items where trust matters. Removing COD can lose those buyers. Keeping it unguarded has its own cost: orders that are never collected, refused at the door or placed as pranks cost you the goods in transit and the effort of handling them. We cannot give you a reliable national figure for refusal rates, because they vary widely by category, region and store, and published numbers are rarely independent. TODO: add a sourced figure if a credible public source is found. What we can say is that your own order data will tell you more than any average, so build the store so that it records the right things.
The design question is therefore: how do we offer COD to the customers who need it, make the terms plain, and reduce the orders that should never have been shipped?
Rule 1: Decide where COD is offered
COD does not have to be all or nothing. Common, sensible controls are:
- By location. Offer COD only to PIN codes your courier serves for cash collection. The checkout should check the PIN code and show "Cash on delivery is available" or not, before the payment step. See our guide to PIN code fields and validation at checkout.
- By order value. Many stores set a minimum and a maximum COD amount, with higher-value orders asked to prepay. State the limit in plain words.
- By product type. Fragile, made-to-order, personalised or very low-margin products are poor candidates for COD.
- By customer history. Returning customers with completed orders can be offered COD more freely than first-time buyers. This needs a customer record, so it works best with accounts or a reliable identifier.
- By past behaviour. If a phone number or address has refused orders before, you may stop offering COD to it. Be careful and fair here: record the reason, allow a way to appeal, and handle personal data in line with your privacy policy.
These rules should live in settings your team can change, not in code only a developer can edit. Ask for an admin screen with a list of rules and the ability to switch each on or off.
Rule 2: Be honest about COD cost and terms
If you charge a COD fee, show it before the final step and include it in the total. Hiding it until the payment page is the sort of surprise that makes shoppers leave; research aggregated by Baymard Institute lists unexpected extra costs as the most commonly cited reason for abandonment, and total cost not being visible up front as another. See their cart abandonment summary.
Practical points:
- Show COD as one payment option among others, with its fee in the label: "Cash on delivery (₹X handling fee)". If there is no fee, say so only if it is true.
- Offer an incentive to prepay if you want one, such as a small discount, but state it honestly and make sure the maths is right on the cart, checkout and invoice. Our article on discount codes and gift card rules explains how to keep rules consistent.
- State the terms in plain language near the option: have the exact amount ready, someone must be available to receive the order, refusing delivery may affect future COD eligibility. Avoid threats; explain.
- Meet consumer rules. Indian e-commerce rules require clear disclosure of price, return and refund terms. Our guide to the Consumer Protection (E-Commerce) Rules covers the points a store must display.
Rule 3: Confirm before you dispatch
The single most effective control, and one a website can automate, is a confirmation step for COD orders. The idea is simple: an order is "pending confirmation" until the customer proves the number is real and the order is wanted.
Confirmation options
- WhatsApp confirmation. After checkout, send a message to the customer's number with the order summary and two buttons: "Confirm" and "Cancel". Many customers respond within minutes. This uses the WhatsApp Business Platform, so you need an approved template for the first message and must respect consent and pricing rules, which change; check the current terms with your provider. Our WhatsApp Flow service page describes how these are built.
- OTP at checkout. Send a one-time code by SMS or WhatsApp and require it before the order is placed. This proves the shopper controls the number, which blocks many fake orders, but adds friction. In India, transactional SMS must follow DLT registration rules; our article on OTP login by SMS and WhatsApp explains the setup.
- IVR or call confirmation. Useful for high-value or risky orders, but it costs staff time. Reserve it for the orders your rules flag.
- Email confirmation. Weaker for COD, because the problem is usually a mobile number or address, but it is a useful secondary record.
Behaviour to build
- Statuses: "COD pending confirmation", "confirmed", "cancelled by customer", "no response". Dispatch should be allowed only from "confirmed" (or from "no response" after your rule, if you choose).
- Timeouts: if there is no reply after a set time, send one reminder, then follow your rule: hold, call or cancel. Tell the customer the rule in the first message.
- Edit window: let the customer correct the address or phone number in the confirmation flow. Many "failed deliveries" begin as a mistyped address.
- Audit trail: record when each message was sent, delivered and answered, so you can resolve disputes.
- Staff override: let your team confirm manually after a phone call.
This flow is the best place to use WhatsApp in your store; it is also one of the most common integrations we build for D2C clients. For an overview of the checkout side, see guest checkout and checkout form design.
Rule 4: Keep fake and prank orders out
Some COD orders are not mistakes but deliberate: competitors, pranksters or bots. A store with COD and no protection is an easy target. The measures are the ones in our guide to protecting checkout from fake orders and bots, and these apply especially to COD:
- Rate limits: limit orders per phone number, IP address and device in a period.
- Bot protection: a modern challenge on checkout, such as Cloudflare Turnstile or Google reCAPTCHA, chosen with accessibility and privacy in mind.
- Address and phone checks: validate formats, and flag nonsense addresses or repeated numbers with different names.
- Velocity rules: several COD orders from one device with different details should be held for review.
- Blocklist, with care: blocking numbers that refused before can reduce repeat losses, but record the basis and give a way to correct mistakes.
- Hold-for-review queue: a list of flagged orders that staff check before confirmation.
None of these is perfect. They reduce the problem; they do not remove it.
Rule 5: Design the COD checkout flow
Here is a sensible flow:
- Cart: shows items, subtotal and an estimate of delivery. See designing the cart page and mini-cart.
- Checkout address: collect name, phone, address and PIN code, with validation.
- PIN code check: show which payment methods are available for that PIN code.
- Payment choice: prepaid options and COD, with fees and terms visible.
- Place order: a clear button, "Place COD order" or "Pay and place order", not a vague "Submit".
- Confirmation page: states what happens next: "We will message you on WhatsApp to confirm your order. Please reply within X hours." Do not leave this to chance; this page is also the right place to measure. See order confirmation page and tracking.
- Confirmation message: WhatsApp, with order summary and buttons.
- Dispatch: only after confirmation, with tracking details sent to the customer.
On a phone, keep each step short, use autofill-friendly fields and make the payment choice obvious. A COD option buried below the fold frustrates the very people who want it.
Rule 6: Handle refusals and returns on the website side
You cannot prevent every refusal, but you can learn from them.
- Record the reason for each refused or undelivered COD order, using your courier's status codes mapped to your own categories: customer unavailable, wrong address, changed mind, refused to pay, fake order.
- Feed that back into your rules. If a particular PIN code or product has a high refusal rate, review COD availability for it.
- Offer a prepaid link for orders that failed once. A customer who was unavailable may be willing to pay online and receive a second attempt.
- Show clear return and refund terms. For COD orders the refund route is different, since there is no card to credit; collect bank or UPI details securely when needed, and state how long refunds take. Our guide to building a returns page and return-request flow explains the flow.
Rule 7: Measure it
Build a small COD report, in your store admin or a sheet, with these columns for each month:
- COD orders placed
- COD orders confirmed
- COD orders dispatched
- COD orders delivered and paid
- COD orders refused or returned, by reason
- Prepaid orders for comparison
- Average order value for each
From it, compute the confirmation rate, the delivered rate and the refusal rate, and compare COD with prepaid. Then change one rule at a time, such as adding WhatsApp confirmation or lowering the COD limit for first orders, and see what moves. Because we cannot supply honest benchmarks for your category, your own trend is the benchmark.
If you advertise, remember that COD orders may appear as conversions in your ad platform even if they are never delivered. Send the delivered status back where you can, so campaigns optimise for real customers. Our guide to lead quality and offline conversions describes the idea, which applies equally to orders.
An illustrative example
Suppose a Pune-based apparel brand offers COD to every PIN code with no confirmation, and dispatch staff ship every order the moment it arrives. Over a few months the owner notices a pile of returned parcels. A sensible rebuild might: restrict COD to serviceable PIN codes; set a maximum COD value, with first-time orders above it asked to prepay; add a WhatsApp confirmation step; require staff to dispatch only confirmed orders; add a rate limit per phone number; and start a monthly COD report. The owner would then compare refusals before and after over several months. This is a planning example, not a client result, and the effect will depend on the store.
What to ask your developer
- Can COD be switched on or off by PIN code, order value and product, from an admin screen?
- How is the COD fee shown, and does it appear consistently in cart, checkout, invoice and email?
- How will order confirmation work: WhatsApp, OTP or both? What happens if the customer does not reply?
- What protection is there against bots and repeated fake orders, and does it hurt genuine customers?
- How are refusals recorded and reported?
- How are customer phone numbers and addresses protected, and who can see them?
- Who maintains the integrations when the WhatsApp or SMS provider changes its rules?
Mistakes to avoid
- COD everywhere, for every order.
- Hidden COD fees shown only on the last page.
- No confirmation step, so fake orders ship.
- A WhatsApp flow that ignores consent or sends untemplated messages.
- No status in the admin, so staff cannot tell confirmed from unconfirmed orders.
- Over-blocking, which turns away genuine customers.
- No reporting, so you cannot tell whether COD pays.
- Threatening language in terms and messages.
Work with the Govindani team
We build online stores for Indian shoppers in Pune, with COD rules, WhatsApp confirmation, order dashboards and checkout protection. If you want COD that works for customers without flooding dispatch with orders that will never be collected, see our ecommerce services, checkout system and WhatsApp Flow pages, then contact us or call 092019 58274.
Frequently asked questions
Should an online store offer cash on delivery?
Often yes, particularly for first-time buyers, smaller cities and higher-value items where trust matters, but as a controlled option. Limit it by serviceable PIN code and order value, state any fee up front and confirm orders before dispatch.
How do I reduce fake COD orders?
Confirm each COD order by WhatsApp or an OTP before dispatch, rate-limit orders per phone number and device, add bot protection at checkout, validate addresses and route flagged orders to a manual review queue.
Should I charge a COD fee?
That is a commercial decision, but if you do, show it as part of the total before the final step and in the payment option label. Surprise fees at the end are a leading reason shoppers abandon checkout.
Can WhatsApp be used to confirm COD orders?
Yes. The store sends an order summary through an approved WhatsApp template with confirm and cancel buttons. You need the WhatsApp Business Platform through a provider and must follow consent rules and current pricing.
How do I know if COD is worth it?
Track COD orders through placed, confirmed, dispatched, delivered and refused, and compare them with prepaid orders for the same period. Your own confirmation, delivery and refusal rates will tell you more than any average.
Sources:
- Baymard Institute: Cart abandonment rate statistics
- Meta for Developers: WhatsApp Business Platform pricing
- Ministry of Consumer Affairs: Consumer Protection (E-Commerce) Rules, 2020
- TRAI: Telecom Commercial Communications Customer Preference Regulations (DLT)
About the author: written by the Govindani Infotech ecommerce web development team in Pune.