> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cope.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Cart, checkout, and order lifecycle

> Public cart, checkout, and order states and the webhook events that announce lifecycle transitions.

# Cart, checkout, and order lifecycle

> Generated from COPE public event contracts. Do not edit this page by hand.

Cart, checkout, and order events describe the buyer journey before and after payment. Not every lifecycle event has a published payload schema yet; schema-backed events appear in the generated event schema reference.

## Cart States

| State              | Meaning                                                                           | Event                                                                                                                              | Schema-backed page                                                                                                                                                                                                                                                                                                                                                    |
| ------------------ | --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `created`          | A cart was opened for a buyer or checkout flow.                                   | `cart.cart.created`                                                                                                                | [Schema](../webhooks/events/cart.cart.created)                                                                                                                                                                                                                                                                                                                        |
| `active`           | The cart can still change through line item, buyer identity, or currency updates. | `cart.cart_line.added`, `cart.cart_line.updated`, `cart.cart_line.removed`, `cart.buyer_identity.updated`, `cart.currency.changed` | [`cart.cart_line.added`](../webhooks/events/cart.cart_line.added), [`cart.cart_line.updated`](../webhooks/events/cart.cart_line.updated), [`cart.cart_line.removed`](../webhooks/events/cart.cart_line.removed), [`cart.buyer_identity.updated`](../webhooks/events/cart.buyer_identity.updated), [`cart.currency.changed`](../webhooks/events/cart.currency.changed) |
| `abandoned`        | The cart did not convert in the configured window.                                | `cart.cart.abandoned`                                                                                                              | [Schema](../webhooks/events/cart.cart.abandoned)                                                                                                                                                                                                                                                                                                                      |
| `checkout_created` | The cart moved into a checkout attempt.                                           | `cart.checkout.created`                                                                                                            | [Schema](../webhooks/events/cart.checkout.created)                                                                                                                                                                                                                                                                                                                    |

## Checkout States

| State       | Meaning                                                          | Event                     | Schema-backed page                                   |
| ----------- | ---------------------------------------------------------------- | ------------------------- | ---------------------------------------------------- |
| `created`   | A checkout session was created and payment collection can begin. | `cart.checkout.created`   | [Schema](../webhooks/events/cart.checkout.created)   |
| `cancelled` | The checkout attempt was explicitly cancelled before completion. | `cart.checkout.cancelled` | [Schema](../webhooks/events/cart.checkout.cancelled) |
| `expired`   | The checkout attempt expired before completion.                  | `cart.checkout.expired`   | [Schema](../webhooks/events/cart.checkout.expired)   |
| `completed` | Checkout produced a completed order.                             | `cart.order.completed`    | [Schema](../webhooks/events/cart.order.completed)    |

## Order States

| State                 | Meaning                                                                        | Event                         | Schema-backed page                                       |
| --------------------- | ------------------------------------------------------------------------------ | ----------------------------- | -------------------------------------------------------- |
| `created`             | The order record exists but has not reached a terminal payment outcome.        | `cart.order.created`          | [Schema](../webhooks/events/cart.order.created)          |
| `completed`           | The order completed and can be fulfilled, granted, or reconciled by consumers. | `cart.order.completed`        | [Schema](../webhooks/events/cart.order.completed)        |
| `failed`              | The order could not complete successfully.                                     | `cart.order.failed`           | [Schema](../webhooks/events/cart.order.failed)           |
| `refunded`            | Funds were returned after order completion.                                    | `payment.refund.created`      | [Schema](../webhooks/events/payment.refund.created)      |
| `refund_reversed`     | A prior refund was reversed.                                                   | `payment.refund.reversed`     | [Schema](../webhooks/events/payment.refund.reversed)     |
| `chargebacked`        | The payment was disputed as a chargeback.                                      | `payment.chargeback.created`  | [Schema](../webhooks/events/payment.chargeback.created)  |
| `chargeback_reversed` | The chargeback was reversed.                                                   | `payment.chargeback.reversed` | [Schema](../webhooks/events/payment.chargeback.reversed) |

## Consumption Notes

* Treat `cart.order.completed` as the primary fulfillment signal.
* Use payment events when your integration needs payment-state reconciliation rather than order fulfillment.
* Events marked pending schema publication are part of the intended public lifecycle surface, but are not ready for payload-dependent integrations until their schema pages are available.
