# Order life cycle Understanding of the order life cycle helps you to [track orders](https://developers.xsolla.com/virtual-goods/own-ui/client-side-token-generation/set-up-order-tracking/?tabs=100-trackOrderOnClient_200-api&_xm=4170963201673921623) and correctly implement post-purchase logic, e.g., item delivery. The order moves through the following statuses:
| Status | Description | Notes |
new |
Order is created. The system is waiting for payment confirmation. | Transaction status descriptions can be found in Pay Station API documentation. |
paid |
Order is paid (the transaction moved to the done status), and the item can be granted to the user. |
The order remains in the new status until the payment is confirmed. |
done |
Item is granted to the user. | — |
canceled |
The payment was refunded. | The order moves to this status when the transaction status changes to refunded. |
expired |
Creating a new order for a limited item, promo code, or promotion moves any previous unpaid order containing that item to the expired status. Only the most recent order can be paid for. |
If a user attempts to pay for an expired order, the payment UI will display a 2002 error, and the payment will fail. |
Note
When the order moves to the expired status while the user is completing a payment, but the payment is successful, the order moves from expired to paid status. This applies only if the purchase limit for the order’s item won’t be exceeded upon payment.