Cancelling a fulfillment order
In Digital River coordinated fulfillments, learn how to cancel fulfillment of physical products
Last updated
In Digital River coordinated fulfillments, learn how to cancel fulfillment of physical products
Last updated
In , you can use the to cancel the delivery of . When you , you must specify the items to cancel and in what quantity.
Your integration should also be set up to .
If your site allows customers to cancel purchases, before sending a , you should . Once you've done that, you can .
Before you activate a cancellation option in your UI, check that the relevant items[]
in the are either or . Customers shouldn't be allowed to cancel items. However, your integration can provide customers the option to .
When customers opt to cancel all or part of a , respond to their request by defining and submitting a . The request needs to provide:
A fulfillmentOrderId
represents the .
id
âž”
fulfillmentOrderId
id
âž”
upstreamId
items[].id
âž”
items[].fulfillmentOrderItemId
(1) When the fulfillment cancellation...
(2) its state
transitions to...
is created but not yet approved for cancellation by the fulfiller
pending
is approved for cancellation by the fulfiller
accepted
is rejected for cancellation by the fulfiller
rejected
(1) When the line item...
(2) its state
transitions to...
is not yet approved for cancellation by the fulfiller
pending
is approved for cancellation by the fulfiller
accepted
is rejected for cancellation by the fulfiller
rejected
A fulfillment_cancellation.rejected
event indicates that the fulfiller has declined the cancellation request.
An upstreamId
represents the . We recommend setting this value for tracking purposes and maintaining data consistency.
For each item a customer wants to cancel, provide its assigned to it. You must also specify the quantity
of that line item.
A successful returns a .
You can use this resource to . Additionally, we provide the for each item you request to cancel
A fulfillment cancellation also contains a unique id
. You can use this identifier when and .
In a , each items[]
provides the quantity
you specified in the POST/fulfillment-cancellations
as well as the quantityAccepted
by the fulfiller. If quantityAccepted
is less than quantity
, then the fulfiller didn't approve all the items for cancellation.
A , as well as its items[]
, have a defined lifecycle, each stage of which is represented by a state
.
We recommend that you .
A contains a state
. It indicates where the resource is in its lifecycle. The values for a successful fulfillment cancellation (i.e., the happy path) are pending
> accepted
.
Eachitems[]
in a also contains a state
. The state
values of a successfully cancelled line item (i.e., the happy path) are pending
> accepted
.
Your integration should be capable of . You can also determine a fulfillment cancellation's state
by .
You can to listen for fulfillment cancellation created, approved, and rejected events. Each data.object
consists of a .
When a POST /fulfillment-cancellations
request is successfully submitted, we create a fulfillment_cancellation.created
. This event indicates that your cancellation request has been received by Digital River but has not yet been approved or rejected by the fulfiller.
If the fulfiller approves a cancellation request, we create a fulfillment_cancellation.accepted
event that provides the .
In that use the , you should respond to each fulfillment cancellation approved event by submitting a payment cancellation request through the .
If you're using the , we listen for fulfillment cancellation-approved events and submit the appropriate payment cancellation request.
For more details, refer to .
We recommend you respond to these events by notifying customers (typically through email and their order management page) that the cancellation request has been rejected. In the notification, you can provide customers instructions on and .
Two requests can be used to :
You can by sending its unique identifier.
You can filtered by optional query parameters.