We create an extra page in the store called "Cancel Order", which we link in the "Information" content field.
When a customer clicks on it, he is redirected to a page where we ask for
- his e-mail address
- the zip code of the delivery address and
- the order number of the order that he wants to cancel
(we can't ask for the password because this feature must work for guest orders as well).
All of these three items must match an order before the customer can access the cancellation form, which includes a listing of all products purchased with that order.
Since a product can be purchased multiple times and partial cancellations should be possible, there is an input field where I can enter the quantity I want to return. Additionally, there is a button above the list to select/deselect everything at once, so all fields will be filled by this button with the maximum amount (if you bought 10, it will enter 10) or deselecting would clear everything.
At the end of the form there are two buttons:
- "Cancel" ⇒ Clicking this button will take the customer back to the home page without making any changes.
- "Cancel selected products" ⇒ Here, first a window opens asking the customer if he really wants to cancel the following products, followed by a list of the selected products. A click on "No" would lead back to the form. Clicking on "Yes" will confirm the cancellation of the order (or parts of the order).
You and your customer will then receive an email containing all the selected products.
In the store itself we do not change anything, we only inform. On the one hand because we don't know if you are using a WaWi, on the other hand because you probably want to check first if the cancellation of the customer is legal.