Templates · Utility
Order cancellation message: 19 WhatsApp samples for cancelled orders, COD cancellations and refunds
Cancellation and refund messages that answer the customer's real question (where is my money?): 13 Meta templates with the right category, 6 plain WhatsApp Business app texts, COD refund handling and UTR/ARN references.
By Broadchat teamPublished 11 min read
Before you submit these templates
- Submit cancellation and refund messages as Utility. Meta's categorisation guide treats cancelling or changing an existing order and updates on a payment as utility, as long as nothing is promoted.
- Keep coupons, "you may also like" and win-back offers out of utility templates. One promotional line is enough for Meta to recategorise the template as marketing.
- Never ask for card numbers, CVV, OTP or UPI PIN in a template. Meta rejects templates that request sensitive data, and fraudsters copy refund messages to steal money.
- Use realistic samples at submission (order RH-48213, ₹2,349, 5 to 7 working days). Empty or placeholder samples are a common reason for rejection.
- End the body with words, not a variable: "Reply HELP if you did not ask for this" closes most cancellation templates well.
- Give each variant a purpose-based name (ordcancel_seller_out_of_stock) because template names cannot be changed after submission.
The short answer
A good order cancellation message answers the customer's real question in the first two lines: which order was cancelled and by whom, and what happens to their money (the refund amount, where it goes and by when, or "nothing has been charged" for cash on delivery). It ends with one clear way to get help if they did not ask for the cancellation.
If the customer asked you to cancel in a WhatsApp chat in the last 24 hours, just reply in that chat; no template is needed. Use an approved template when the cancellation or refund happens on your website, app, payment gateway or warehouse and the customer has not messaged you recently.
Below are 13 WhatsApp Business API templates with {{1}} variables (cancellations by the customer and by the seller, COD cancellations, failed payments, refund initiated, refund completed with a bank reference, partial refunds and COD refund details) and 6 plain messages for the WhatsApp Business app.
Cancellation and refund messages are utility, until you add an offer
Meta's template categorisation guide treats messages that confirm, change or cancel an existing order, and updates about a payment the customer made, as utility. Marketing is anything that promotes or invites a new purchase. For cancellations that line is easy to cross:
| Message | Category | Why |
|---|---|---|
| "Your order RH-48213 is cancelled, ₹2,349 refund started" | Utility | About the customer's own order |
| Seller cancelled because of stock or PIN code | Utility | Same, the order is theirs |
| COD order cancelled because it was not confirmed | Utility | Status of their order |
| Refund initiated, refund completed, partial refund | Utility | Update on their payment |
| Cancellation plus "use code COMEBACK10 on your next order" | Marketing | The coupon promotes a new purchase |
| Cancellation plus "similar products you may like" | Marketing | Same |
| Reply to "please cancel my order" within 24 hours | No template | A normal reply in the customer service window |
If you want to win the customer back with a discount, send that as a separate marketing template a day or two later, only to people who opted in to offers. Meta can recategorise a template after approval if it finds promotion inside it. Since 1 Oct 2026 utility templates are charged per delivered message even inside an open customer service window; the October 2026 pricing changes explain what changed and WhatsApp API pricing has the current rates.
What every cancellation or refund message needs
| Field | Example | Why it matters |
|---|---|---|
| Order number | RH-48213 | The customer may have several orders open |
| Who cancelled, and why (one line) | "as you requested" or "went out of stock" | Stops "I never cancelled" calls |
| Amount | ₹2,349 | Must match what they paid, or explain the difference |
| Where the money goes | HDFC card ending 4417, UPI ID, store wallet | Customers check the wrong account otherwise |
| When | "by 6 Nov" or "5 to 7 working days" | Sets the waiting period |
| Bank reference once processed | ARN (cards), UTR or UPI reference (bank transfer, UPI) | Lets the bank trace the credit |
| A way to get help | HELP button or "reply here" | Keeps disputes in your chat, not with the bank |
COD cancellations and COD refunds
Cash on delivery creates two situations that prepaid orders do not:
- Cancelled before delivery. No money changed hands. Say so in plain words ("You have not been charged anything, and the courier will not visit"), otherwise customers worry about a hidden charge. If you cancel because the customer never confirmed, the COD order confirmation playbook explains the confirmation step that comes first.
- Refund after a COD return. There is no card or UPI account to refund to automatically, so you need the customer's UPI ID or bank account. Collect it on a secure page on your own website through a URL button, not by asking for account numbers in the chat. Meta rejects templates that ask for sensitive data, and refund scams in India often copy a seller's message and ask the customer to "enter your UPI PIN to receive the refund". State in the message that you never ask for a PIN or OTP.
Partial refunds
When one item of a multi-item order is cancelled or returned, the customer sees a refund that does not match the order total. Name the item, the quantity and the amount refunded for it, and say what is happening to the rest of the order. If a cart-level coupon or free delivery was split across items, the refund for one item is less than its listed price; explain the arithmetic in a chat reply when the customer asks, for example: "Ghee ₹949 minus its share of the ₹200 coupon (₹100) = ₹849 refunded."
Plain cancellation and refund messages for the WhatsApp Business app
Copy, change the details and send. Save the ones you use every week as quick replies so the whole team answers the same way.
1. Customer asked to cancel in chat
Hi Priya, done. Order RH-48213 is cancelled and the full ₹2,349 is going back to your HDFC card ending 4417. You should see it by 6 Nov. I will send the bank reference here once it is processed.2. Seller cancels: item out of stock (kirana or grocery)
Namaste Gupta ji, sorry, Fortune sunflower oil 5 L is out of stock today, so I have removed it from your order. Rest of the items will reach by 7 pm. Your bill is now ₹1,180 instead of ₹2,035; pay the rider ₹1,180 only.3. COD order cancelled, nothing to pay
Hi Arjun, your COD order KO-10582 is cancelled as asked. You have not been charged anything and the courier will not come. If you change your mind, just reply REORDER today.4. Refund completed, with the reference
Hi Vikram, your refund of ₹4,800 for order SS-22870 is done. UPI reference: 430918227561. If it is not in your account by tomorrow evening, share this number with your bank and they can trace it.5. Partial refund
Hi Anjali, the A2 ghee 500 ml from your order KO-10690 got damaged in our warehouse, so we have refunded ₹849 for it to your card. The other 3 items are packed and will ship today; tracking will come here.6. Cannot cancel, already shipped
Hi Sunita, sorry, order KO-10655 left with Delhivery this morning, so it cannot be cancelled now. Please refuse it at the door and your refund will start when it reaches us, or keep it and request a return within 7 days.How to send these
WhatsApp Business app (free, manual). Handle cancellation requests in the chat with the plain messages above. The app works well up to a few dozen orders a day; beyond that, typing order numbers and refund references by hand is where mistakes start (WhatsApp Business app vs API).
WhatsApp Business API. In Broadchat:
- Create the templates in CRM → WhatsApp Templates with the Utility category, one per cancellation reason, and the win-back offer (if you use one) separately as Marketing.
- For Shopify or WooCommerce stores connected under Ecommerce, build a bot in Chatbots → Chatbots with the order updated trigger so a cancelled status sends the right template with the order number and amount filled in.
- For refunds reported by your payment gateway, warehouse system or ERP, use Automations → Workflow with a Custom Webhook trigger and Send Template Message (V2), mapping the refund amount, method and bank reference to the variables.
- Route HELP, Not received and Talk to us replies to your team in CRM → Live Chat, where agents can answer freely while the customer service window is open.
Related libraries: order update templates for confirmation, shipping and delivery; delay apology messages when an order or refund is late but not cancelled; payment reminder templates for money owed to you; and the appointment cancellation messages for bookings. The WhatsApp message templates guide covers every format rule. Hindi versions are on the Hindi order cancel message page. Agencies that run order notifications for several online stores can offer all of this under their own brand with white-label WhatsApp.
Sources
- Template categorization — Meta for Developers, checked 1 November 2026
- Template components — Meta for Developers, checked 1 November 2026
- Template review — Meta for Developers, checked 1 November 2026
- Pricing on the WhatsApp Business Platform — Meta for Developers, checked 1 November 2026
Broadchat team · Product and partner success team
The people who build and support Broadchat, the white-label WhatsApp Business API platform. We write from what we see while onboarding partners and their clients on the official WhatsApp Cloud API, and we check every article against Meta's current documentation.
Last updated:
13 order cancellation and refunds templates
Copy the wording, then submit it from CRM → WhatsApp Templates with the sample values shown. Meta reviews every template; approval is never guaranteed.
Order cancelled
Hi {{1}}, your order {{2}} from Rangoli Home has been cancelled as you requested. A refund of {{3}} will be sent to your {{4}} within 24 hours, and banks usually take 5 to 7 working days to show it. Reply HELP if you did not ask for this cancellation.
- HELP
Cancellation confirmed (customer request, prepaid order)
Utilityordcancel_customer_request_prepaidLanguage: en
Use it when: Right after a customer cancels a paid order on your website, app or by calling you, before it is dispatched.
Variables Variable Meaning Sample {{1}} Customer first name Priya {{2}} Order number RH-48213 {{3}} Refund amount ₹2,349 {{4}} Original payment method HDFC credit card ending 4417 - Show only the last four digits of a card. The customer recognises the card and nothing sensitive is exposed.
Hi {{1}}, we have cancelled your cash on delivery order {{2}} for {{3}} as requested. You have not been charged anything, and the courier will not visit. If this was a mistake, reply REORDER within 24 hours and our team will place it again for you.
- REORDER
- Talk to us
COD order cancelled by the customer
Utilityordcancel_cod_customer_requestLanguage: en
Use it when: When a COD order is cancelled by the customer before dispatch. Saying "you have not been charged" stops the follow-up question.
Variables Variable Meaning Sample {{1}} Customer first name Arjun {{2}} Order number KO-10582 {{3}} Items in short 2 x cold-pressed groundnut oil 1 L - REORDER restores the same order, so the template stays about the existing transaction; do not add other products.
Hi {{1}}, we are sorry: {{2}} in your order {{3}} went out of stock before we could pack it, so we have cancelled the order. The full amount of {{4}} is being refunded to your original payment method today. You do not need to do anything.
- When will it return?
- Talk to us
Seller cancelled: item out of stock
Utilityordcancel_seller_out_of_stockLanguage: en
Use it when: When you, not the customer, cancel a whole order because stock ran out. For a delay where you still ship, use the delay apology templates instead.
Variables Variable Meaning Sample {{1}} Customer first name Meera {{2}} Item Jaipuri cotton double bedsheet (indigo) {{3}} Order number RH-48377 {{4}} Refund amount ₹1,899 - Apologise once, then move straight to the money. Long apologies read like an excuse.
Hi {{1}}, our courier partners do not deliver to PIN code {{2}} at the moment, so we had to cancel order {{3}}. The amount of {{4}} has been refunded to your original payment method. If you have another address we can deliver to, reply with it and we will place the order there.
- Use another address
Seller cancelled: courier cannot deliver to the PIN code
Utilityordcancel_seller_pincode_not_serviceableLanguage: en
Use it when: When a prepaid order cannot be shipped to the address given. Offering a new address often saves the sale.
Variables Variable Meaning Sample {{1}} Customer first name Kabir {{2}} PIN code 194101 {{3}} Order number KO-10611 {{4}} Refund amount ₹1,240 Hi {{1}}, we did not receive a confirmation for your cash on delivery order {{2}} of {{3}}, so it has been cancelled and will not be shipped. Nothing has been charged. If you still want it, tap Confirm again and we will dispatch it by {{4}} at the latest.
- Confirm again
- No, thanks
COD order cancelled because it was not confirmed
Utilityordcancel_cod_not_confirmedLanguage: en
Use it when: When your COD confirmation request goes unanswered for the time you allow (often 24 to 48 hours) and you cancel to avoid a return to origin.
Variables Variable Meaning Sample {{1}} Customer first name Rahul {{2}} Order number SS-22914 {{3}} Order value ₹1,499 {{4}} Dispatch day Tuesday - Send it once. Repeated nudges for an unconfirmed COD order start to look like marketing.
Hi {{1}}, the payment for order {{2}} did not complete, so the order has been cancelled. If {{3}} was debited from your account, your bank will reverse it automatically, usually within 5 working days. You can place the order again with the same cart from the link below.
- Open my cart
Order cancelled: payment did not go through
Utilityordcancel_payment_not_completedLanguage: en
Use it when: When a UPI or card payment fails or times out and your system cancels the pending order.
Variables Variable Meaning Sample {{1}} Customer first name Neha {{2}} Order number RH-48402 {{3}} Amount ₹3,150 - The URL button's variable (the cart id) is filled separately from the body variables when you send.
Hi {{1}}, we received your request to cancel order {{2}}, but it was handed to {{3}} this morning and can no longer be stopped. Please refuse the parcel at the door, or accept it and request a return within 7 days. Your refund starts as soon as the parcel reaches our warehouse.
- I will refuse it
- Request a return
Cancellation request: already shipped
Utilityordcancel_not_possible_shippedLanguage: en
Use it when: When a customer asks to cancel after dispatch. Say clearly what they can still do, so they do not raise a payment dispute.
Variables Variable Meaning Sample {{1}} Customer first name Sunita {{2}} Order number KO-10655 {{3}} Courier Delhivery - If the customer asked in chat less than 24 hours ago, you can send this as a normal reply without a template.
Refund initiated
Hi {{1}}, we have initiated a refund of {{2}} for order {{3}} to your {{4}}. It should reach you by {{5}}. If it has not arrived by then, reply to this message with your order number and we will share the bank reference.
Refund initiated
Utilityrefundmsg_initiated_original_methodLanguage: en
Use it when: The moment your payment gateway accepts the refund request, after a cancellation or a return.
Variables Variable Meaning Sample {{1}} Customer first name Vikram {{2}} Refund amount ₹4,800 {{3}} Order number SS-22870 {{4}} Refund method UPI ID vikram@okaxis {{5}} Expected date 6 Nov 2026 - A date ("by 6 Nov") gets fewer follow-up chats than a range ("5 to 7 working days").
Hi {{1}}, your refund of {{2}} for order {{3}} has been completed. Reference number: {{4}}. If you cannot see it in your account, share this reference number with your bank; they can trace the credit with it.
- Received, thanks
- Not received
Refund completed, with the bank reference
Utilityrefundmsg_processed_with_referenceLanguage: en
Use it when: When the gateway reports the refund as processed and gives a reference: ARN for card refunds, UTR or UPI reference for bank and UPI refunds.
Variables Variable Meaning Sample {{1}} Customer first name Pooja {{2}} Refund amount ₹2,349 {{3}} Order number RH-48213 {{4}} UTR, UPI reference or card ARN ARN 74332746305120458829141 - Send the reference proactively. It ends most "refund not received" disputes in one step.
Hi {{1}}, one item from order {{2}} could not be shipped: {{3}}. We have refunded {{4}} for it to your original payment method. The rest of your order is packed and will be dispatched {{5}}, with tracking sent here.
- OK
- Cancel whole order
Partial refund for one item
Utilityrefundmsg_partial_item_refundLanguage: en
Use it when: When part of an order is cancelled or returned and the rest goes ahead. Name the item so the customer can match the amount.
Variables Variable Meaning Sample {{1}} Customer first name Anjali {{2}} Order number KO-10690 {{3}} Item and quantity 1 x A2 desi cow ghee 500 ml {{4}} Refund amount ₹849 {{5}} Dispatch time today by 6 pm - If a coupon or free delivery was applied to the whole cart, explain how much of it was adjusted, in a follow-up chat reply.
Hi {{1}}, your return for order {{2}} has passed the quality check and {{3}} is due to you. As you paid cash on delivery, please add your UPI ID or bank account on our secure refund page using the button below. We never ask for your UPI PIN or OTP to send a refund.
- Add refund details
COD refund: ask for refund details through a secure form
Utilityrefundmsg_cod_refund_details_linkLanguage: en
Use it when: For COD returns, where there is no original payment method to refund to. Collect account details on your own website, not in the chat.
Variables Variable Meaning Sample {{1}} Customer first name Kavita {{2}} Order number SS-22801 {{3}} Refund amount ₹1,650 - The line about never asking for a UPI PIN or OTP protects customers from refund scams that copy your messages.
नमस्ते {{1}} जी, आपका ऑर्डर {{2}} आपके कहने पर रद्द कर दिया गया है। {{3}} का रिफ़ंड आपके {{4}} में भेज दिया है, जो आम तौर पर 5 से 7 कार्य-दिवस में दिख जाता है। अगर यह रद्द आपने नहीं करवाया, तो यहीं जवाब दीजिए।
- मदद चाहिए
ऑर्डर रद्द और रिफ़ंड (हिंदी)
Utilityordcancel_refund_hiLanguage: hi
Use it when: For customers who chat with you in Hindi. Submit with the Hindi (hi) language code.
Variables Variable Meaning Sample {{1}} Customer name शर्मा {{2}} Order number RH-48420 {{3}} Refund amount ₹2,349 {{4}} Payment method UPI खाते Namaste {{1}} ji, aapka order {{2}} cancel ho gaya hai. {{3}} ka refund aapke original payment method par shuru ho gaya hai, 5 se 7 working days mein account mein dikh jayega. Koi sawaal ho to yahin reply karein.
- Sawaal hai
Order cancel aur refund (Hinglish)
Utilityordcancel_refund_hinglishLanguage: en
Use it when: For customers who write in Roman Hindi. Submit with the English (en) language code, because the text is in Latin script.
Variables Variable Meaning Sample {{1}} Customer name Suresh {{2}} Order number KO-10702 {{3}} Refund amount ₹1,120
Frequently asked questions
How do I write an order cancellation message to a customer?
Start with the order number and who cancelled it, then say what happens to the money: the refund amount, where it goes and by when, or that nothing was charged for a COD order. End with one way to get help, such as a HELP button, in case the customer did not ask for the cancellation.
Is an order cancellation template utility or marketing?
Utility, when it only confirms the cancellation and the refund of the customer's own order. If you add a coupon, other products or an invitation to order again with a discount, Meta treats it as marketing and can recategorise the template. Send win-back offers separately.
What should a refund initiated message say?
The amount, the order number, the account or card it is going to (only the last four digits of a card), and the expected date. When the refund is processed, send a second message with the bank reference: the ARN for card refunds or the UTR or UPI reference for bank and UPI refunds.
How do I refund a COD order on WhatsApp safely?
Ask the customer to add their UPI ID or bank account on a secure page on your website, linked from a URL button, instead of collecting account numbers in the chat. Say clearly that you never ask for a UPI PIN or OTP to send a refund, because scammers copy refund messages.
Do I need a template to reply to a cancellation request?
No, if the customer asked you in WhatsApp within the last 24 hours. You can reply with a normal message inside the customer service window. You need an approved template when you message them later, for example when the refund is processed a week after the cancellation.
Are cancellation and refund messages charged by Meta?
Yes. Utility templates are charged per delivered message, and since 1 Oct 2026 that applies even inside an open customer service window. Normal replies inside the window are service messages: the first 1,000 per number per month are free, then charged. See the WhatsApp API pricing page for current rates.