Cash on Delivery for Online Sellers: How It Works and How to Cut Failed Orders

By Alva Chew 7 min read Updated November 11, 2026

Cash on delivery (COD) means the buyer pays the courier when the parcel arrives, and the courier passes the money to you later. It wins buyers who don’t trust online payment or don’t have a card. The cost is risk: you pay to ship before you are paid, and refused or failed parcels come back at your expense. The most effective way to cut that risk is to confirm every COD order with the buyer in chat before you pack it.

How cash on delivery works

  1. The buyer chooses COD at checkout. No money changes hands yet.
  2. You pack the order and hand it to a courier that offers COD collection.
  3. The courier delivers and collects the amount in cash, or by card or e-wallet if the courier supports it.
  4. The courier sends the collected money to you, usually after a settlement period and minus a COD fee. The fee and timing are set by your courier.
  5. If the buyer refuses the parcel or can’t be reached, the courier returns it to you. This is called return to origin (RTO).

Why sellers offer COD

In many markets a large share of online buyers still prefer to pay at the door. Some don’t have a card. Some had a bad experience with a seller who never shipped. Some just want to see the parcel first. A store that doesn’t offer COD in those markets loses those buyers to one that does.

What COD really costs

  • The COD fee. Couriers charge for collecting cash, often as a percentage of the order value or a flat fee per parcel.
  • Slower cash flow. You wait for the courier’s settlement instead of being paid at checkout.
  • Failed deliveries. A refused parcel costs shipping out and, often, shipping back. The stock is tied up for days and may come back damaged.
  • Fake and impulse orders. With nothing paid up front, some orders are typos, jokes or second thoughts. See handling fake orders.
  • Your time. Calling buyers to check orders, chasing couriers and reconciling settlements takes hours a week.

Why COD parcels come back

Sellers who track their returned parcels usually find the same causes:

  • The buyer never really meant to buy, or changed their mind before delivery.
  • The address is incomplete or wrong, so the courier can’t find the buyer.
  • The buyer’s phone was off or unanswered when the courier called.
  • The buyer didn’t have the cash ready.
  • Delivery took longer than the buyer expected, and they bought elsewhere.

Almost all of these can be caught before the parcel leaves, if someone talks to the buyer between checkout and dispatch.

Practical ways to cut failed COD orders

  1. Confirm every COD order before you pack it. Send the buyer the items, total and address and ask them to confirm. Ship only confirmed orders. Orders with no answer get a call or wait.
  2. Check the address in the same message. Ask for missing details such as the unit number or a landmark. Read the address back.
  3. Tell the buyer to have the cash ready. Say the exact amount and the expected delivery day.
  4. Offer a prepaid option in the chat. Some buyers chose COD only because checkout felt risky. A payment link sent in the chat they trust can turn a COD order into a paid one. See payment link.
  5. Send delivery updates. A message when the parcel is out for delivery reminds the buyer to be home and pick up the phone.
  6. Set limits. Some stores cap COD order value or ask for the shipping fee up front from buyers with a past refusal. This cuts risk and also cuts some genuine sales, so use it with care.

How AeroChat confirms COD orders in chat

When a COD order comes in from your store, AeroChat sends the buyer your approved WhatsApp template with the order details and two buttons, Confirm and Cancel. It reads the reply and acts on it. A confirmed order is tagged for packing. A canceled order is canceled. A buyer who replies with a new address or a question gets an answer, and the order is updated before it is packed. Orders with no reply stay on hold for you. WhatsApp requires the buyer’s opt-in before you send a template message outside the 24-hour customer service window, so add a WhatsApp opt-in at checkout. See WhatsApp message templates.

AeroChat: Hi Dewi, thanks for your order #3318: 2 x Batik cushion covers, US$28 cash on delivery, to 12 Garden Lane (example). Please confirm so we can ship it. [Confirm] [Cancel]

Customer: Confirm. Can I pay now instead? I won’t be home this week.

AeroChat: Of course. Here is a payment link for US$28. Once it’s paid, we’ll ship and leave it with your building’s front desk (example).

Behind the reply: AeroChat created the payment link and detected the payment automatically. The customer never had to type “paid”. The order was then marked paid and released to packing.

Copy this into AeroChat

When a new cash on delivery order is created, send our approved template cod_confirm (example) with the order number, items, total and delivery address, and the buttons Confirm and Cancel. If they confirm, tag the order “COD confirmed” and tell them to have the exact amount ready. If they cancel, cancel the order and ask why. If the address is missing a unit number or looks incomplete, ask for the missing part and update the order before packing. If they ask to pay now, send a payment link for the order total and, once it’s paid, mark the order paid and tag it for packing. If there is no reply after 24 hours (example), tag the order “COD call needed”.

To run it, connect your store, your WhatsApp Business number and your payment provider. Airwallex is built in for payment links. No Airwallex account yet? Open one here. For delivery, POS Malaysia is built in, and other couriers connect through their APIs. Ready-made versions: WhatsApp COD confirmation and the COD confirmation templates.

Selling in a specific country? See COD confirmation in Malaysia, Indonesia and the Philippines.

Questions

Should I stop offering cash on delivery?

Only if your buyers don’t need it. In markets where many buyers prefer to pay at the door, dropping COD usually loses more sales than it saves. Confirming orders first keeps the sales and cuts the returns.

Does confirming COD orders annoy buyers?

A short message with the order details and one tap to confirm is quick. Many buyers welcome it because it confirms the order went through and lets them fix the address.

What about COD orders on Shopee, Lazada or TikTok Shop?

On marketplaces, orders, payment and delivery stay in the marketplace and follow its rules. AeroChat answers buyer questions in the marketplace chat. The confirmation flow above is for orders in your own store.

Can AeroChat book the courier after the order is confirmed?

Yes, where the courier has an API. POS Malaysia is built in. See reducing failed cash on delivery orders for the full flow.

Ship only the COD orders buyers confirmed

Start your 7-day free trial. No credit card needed. Connect WhatsApp and your store, paste the recipe, and place a test COD order with your own number.

Start your 7-day free trial

On Shopify? Install AeroChat from the Shopify App Store.