Order Cancellation overviewEdit on GitHub
Order cancellation makes the shopping experience of B2B and B2C shoppers more flexible by allowing them to cancel their orders within a defined time period. Also, it optimizes the workflow of sales and customer service by allowing them to cancel orders on customers’ behalf in the Back Office.
For example, a customer changes their mind about an item in an order they have placed. Instead of contacting customer service, they can cancel the order and place a new one with the desired items.
A customer can cancel orders on the Order History and Order Details pages.
Order cancellation representation - Order History Page
Order cancellation representation - Order Details Page
See Order cancellation on the Storefront to learn how B2B and B2C shoppers can cancel orders on the Storefront.
See Changing Order Statuses to learn how a Back Office user can cancel orders.
Time frames and statuses
A customer can cancel an order only within a defined time period. By default, the time period is 30 minutes. After the time period has passed, the buttons to cancel the order are not available. A Back Office user can skip the cancellation time period.
Also, they can cancel an order only if all the included items are in the states that are defined as cancellable. By default, the payment pending and confirmed states are cancellable. If at least one of the items in an order is in a different state, the buttons to cancel the order are not available.
In the state machine, a developer can configure different order states to be cancellable and change the cancellation time period.
Ensure that, in your state machine, the refunded state always goes before the cancelled state. Otherwise, you can’t refund the money for a canceled order. You can check the order of the states in the Back Office > Administration > OMS.
See Managing Orders to learn how a Back Office user can skip timeout or cancel an order by changing order statuses.
Order cancellation on the Storefront
This is how the Order Cancellation feature works on the Spryker Demo Shop Storefront:
For submitting the form