K Khan
Feb 1, 2016
  3074
(3 votes)

Cancel Order Notes

There are few considerations for allowing customers to cancel their orders if those have not been processed. It is up to the business when they allow the customer to cancel the order after placing an order, depending on the complexity of their fulfilment system and payment strategy. If EPiServer commerce site is tracking the inventories those should be restored and if some payment has been taken that will also require a return.

OrderStatusManager class contains some helpful functions to achieve this.

purchaseOrder = OrderStatusManager.CancelOrder(purchaseOrder);
purchaseOrder.AcceptChanges();

OrderStatusManager.CancelOrder does two things.

  • Update the Order Status to OrderStatus.Cancelled.
  • Run the work flow "RecalculatePurchaseOrderWorkflow".

There are following activities involved in "RecalculatePurchaseOrderWorkflow".

ValidateLineItemsActivity
GetFulfillmentWarehouseActivity
CheckInstoreInventoryActivity
CheckInventoryActivity
AdjustInventoryActivity
ProcessShipmentsActivity
RemoveDiscountsActivity
CalculateTotalsActivity
CalculateDiscountsActivity
CalculateTotalsActivity
CalculateTaxActivity
CalculateTotalsActivity
CalculatePurchaseOrderStatusActivity


This work flow will adjust the inventory of the site (if tracking) but it does not process payments. To process payments (if required), either we can write your own workflow like as "RecalculatePurchaseOrderWorkflow" or can process the refunds during cancellation.

Feb 01, 2016

Comments

Please login to comment.
Latest blogs
Missing Properties tool for Optimizely CMS

If you have been working with Optimizely CMS for a while you have probably accumulated some technical debt in your property definitions. When you...

Per Nergård (MVP) | Mar 10, 2026

AI Generated Optimizely Developer Newsletter

Updates in the Optimizely ecosystem are everywhere: blog posts, forums, release notes, NuGet packages, and documentation changes. This newsletter...

Allan Thraen | Mar 10, 2026 |

Lessons from Building Production-Ready Opal Tools

AI tools are becoming a normal part of modern digital platforms. With  Optimizely Opal , teams can build tools that automate real tasks across the...

Praful Jangid | Mar 7, 2026

My Takeaway from Optimizely Opal Agents in Action 2026 - What Agentic AI Means for the Future of Digital Marketing

I would like to share with you what stayed in my head after this amazing virtual event organized by Optimizely. Agents in Action 2026 , a live...

Augusto Davalos | Mar 6, 2026