Order Cancellation in Chat for WooCommerce

By Alva Chew 5 min read Updated November 11, 2026

Yes. AeroChat cancels WooCommerce orders in the chat, before they ship. It checks the shopper owns the order and that it has not been sent, sets it to canceled through WooCommerce’s REST API, and refunds the payment through your gateway where it supports refunds from WooCommerce, on WhatsApp and every other channel.

This recipe handles “please cancel my order” from start to finish, inside the limits you set. Part of connecting WooCommerce to WhatsApp and AI chat.

What happens today

A shopper orders the wrong size, finds it cheaper elsewhere or simply changes their mind an hour later. They message you to cancel. Someone has to find the order, check it has not been packed, cancel it, refund it and reply. If the message is read the next day, the parcel is already with the courier and the cancellation turns into a return.

The flow that works

  1. The shopper asks to cancel an order.
  2. AeroChat asks for the order number, finds the order in WooCommerce and checks the email or phone on the order matches the shopper.
  3. It checks the status. Pending payment, on hold and processing orders can be canceled. A completed order has left, so it offers a return instead.
  4. If the shopper only wants a different size or color, it offers to change the order instead.
  5. It sets the order to canceled and adds a note with the reason.
  6. If the order was paid, it creates a refund for the full amount through WooCommerce, using your payment gateway’s refund where the gateway supports it.
  7. It confirms the cancellation and the refund in the chat.

What it looks like on WhatsApp

Customer: Hi, can I cancel order 41206? I ordered twice by mistake. (example)

AeroChat: Can you confirm the email you ordered with?

Customer: dan@example.com

AeroChat: Thanks Dan. Order 41206 hasn’t shipped, so I’ve canceled it. Your $48 has been refunded to the card you paid with. Your other order, 41205, is still on its way to you.

In WooCommerce: order 41206 (example) is set to canceled with the note “Duplicate order, canceled in chat”, and a $48 refund is recorded on it through your payment gateway.

The recipe

Copy this into AeroChat

When a customer asks to cancel an order, follow these steps.

  1. Ask for their order number. Find the order in WooCommerce.
  2. Check that the email or phone number on the order matches the customer. If it does not, ask them to confirm the email they ordered with.
  3. Ask why they want to cancel, in one line. If they want a different size, color or address, offer to change the order instead.
  4. If the order is pending payment, on hold or processing, set it to canceled and add a note with the reason.
  5. If the order was paid, create a refund for the full order total with the reason “Canceled in chat”, using the payment gateway’s refund.
  6. Tell the customer the order is canceled, how much was refunded and when it usually reaches them, from our refund policy.
  7. If the order is completed, tell them it has already shipped and offer to start a return.

Only cancel orders that are pending payment, on hold or processing. Never share another customer’s order. Reply in the customer’s language.

If your team packs processing orders quickly, add a time limit, for example “only within 2 hours of the order (example)”, before you paste it.

What to connect

  • WooCommerce orders. In WooCommerce, go to Settings, Advanced, REST API, and add a key with read and write access. Copy the consumer key and consumer secret, and paste them in when AeroChat asks. Order updates and refunds are documented at woocommerce.github.io/woocommerce-rest-api-docs. A refund created this way goes through your payment gateway when the gateway supports refunds from WooCommerce.
  • Your knowledge base. Your cancellation and refund policy, synced from your WordPress pages by the AeroChat plugin, so AeroChat tells shoppers your own timings.

After you paste the recipe, AeroChat builds the workflow as a draft and shows a checklist: connect WooCommerce, add your knowledge base if the recipe uses one, then switch it on. If it built the connection from WooCommerce’s public documentation, the checklist asks you to check it once against the current docs.

Using a different system? If it has a public API, it connects to AeroChat the same way: describe what you want, paste in its key, and it runs.

Can’t find your tool? Message us in the chat on this page and we’ll tell you how it connects.

What you still decide

  • Which order statuses can be canceled, and for how long after the order.
  • Whether AeroChat refunds right away or passes large orders to your team.
  • Whether it offers a change of order first.

The result to expect

Cancellations happen in the order before it is packed, and the refund goes back without anyone on your team touching it. Fewer cancellations turn into returns you pay to ship back.

Measure it with your own numbers: cancellations completed in chat, and orders canceled after dispatch, for a month before and after.

Next: see the order cancellation workflow across every channel, how to cancel an order before it ships and refunds in chat for WooCommerce.

Works on every chat channel

This workflow runs the same way on WhatsApp, Instagram, Facebook Messenger, Telegram, the chat on your website and email, with the same WooCommerce connection behind it. See what each channel does on the WooCommerce integration page.

Channel versions: WhatsApp order changes.

Cancel your first order from the chat

Paste the recipe, add your WooCommerce keys, and ask your own number to cancel a test order.

Start your 7-day free trial. No credit card needed.

Sign up for an annual plan on Growth or above and we’ll set up your workflows and connect WooCommerce for you, free. See plans.