We’re building a fulfillment app and trying to clarify the cancellation flow.
-
For fulfillment orders, we receive the
fulfillment_order/cancellation_request_submitted
webhook.- At this point, our app can either accept or reject the cancellation request, which makes sense for in-progress or partially fulfilled requests.
-
However, for order-level cancellations (merchant cancels the entire order in Admin), we only receive the
orders/cancelled
webhook.- In this case, the order is already cancelled, and our app has no option to accept or reject.
Use-case:
Suppose we’ve already accepted a fulfillment request and are processing it (in-progress). Later, the merchant cancels the entire order from Admin. We only receive the orders/cancelled
webhook, but we don’t get a way to reject the cancellation (unlike fulfillment orders).
Question:
-
Is this the expected behavior, where order-level cancellations are always final and cannot be rejected by fulfillment apps? Or in-progress Fulfillment Order cannot be cancelled at Order level .
-
What’s the best practice for apps handling in-progress fulfillments when a full order cancellation occurs (we support intent to cancel , not always possible to cancel an order once we have accepted it .)