# Fulfillments and cancellations

This section's [checklist items](#integration-checklist) and [standards](#integration-standards) cover when and how to notify Digital River that you have [fulfilled or cancelled](/digital-river-api/order-management/informing-digital-river-of-a-fulfillment.md) all or part of a transaction.

## Integration checklist

Click any checklist item to see more detail on how to meet the integration standard.

* [ ] [After your system confirms a line item is fulfilled, do you use the Fulfillments API to supply Digital River with the required fulfillment data?](#provide-required-fulfillment-data)
* [ ] [After your system confirms a line item is cancelled, do you use the Fulfillments API to supply Digital River with the required cancellation data?](#provide-required-cancellation-data)

## Integration standards

These integration standards relate to fulfillments and cancellations:

### Provide required fulfillment data

Once you either [synchronously](/digital-river-api/order-management/creating-and-updating-an-order.md#accepted) or [asynchronously](/digital-river-api/order-management/creating-and-updating-an-order.md#listening-for-the-order-accepted-event) receive an order in an `accepted` state, your integration can use the [Fulfillments API](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/fulfillments) to submit a [`POST/fulfillments`](/digital-river-api/order-management/informing-digital-river-of-a-fulfillment.md) with a fulfilled quantity.

When all the items in an order are fulfilled, the [order transitions](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/orders/order-basics#the-order-lifecycle) to a `state` of `complete` and an `order.complete` event is emitted. After you receive this event, you should update the order status in your system to match its `state` in our system.

### Provide required cancellation data

To cancel items, your integration must use the [Fulfillments API](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/fulfillments) to submit a [`POST /fulfillments`](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/fulfillments#fulfillments-1) with a cancel quantity.

## API interfaces

| Documentation                                                                                        | Direct API                                                                                        | PHP SDK                                                                                               |
| ---------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| [Fulfillments](/digital-river-api/order-management/fulfillments.md)                                  | [Fulfillments](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/fulfillments) | [Fulfillments](https://github.com/DigitalRiver/digital-river-php/blob/main/docs/Model/Fulfillment.md) |
| [Events](/digital-river-api/order-management/events-and-webhooks-1/events-1.md): fulfillment.created | [Events](https://docs.digitalriver.com/digital-river-api-reference/2021-12-13/events)             |                                                                                                       |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.digitalriver.com/digital-river-api/general-resources/standards-and-certifications/integration-checklists/fulfillments-and-cancellations.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
