> For a complete page index, fetch https://docs.transak.com/llms.txt # How to Track Order Status Track the status of user orders and receive real-time updates using any of the following integration options: #### [REST API](/api/public/end-points) Poll order status on demand or for reconciliation. #### [Webhooks](/features/webhooks) Receive push notifications when order status changes. #### [WebSockets](/features/websockets) Subscribe to near real-time order status streams. ## Order Flow ## Order Status Reference #### On-Ramp / NFT Checkout | Status Code | Description | | --------------------------------------- | ------------------------------------------------------------------------------------------------------------ | | `AWAITING_PAYMENT_FROM_USER` | When the order is created but the payment still not received. | | `PAYMENT_DONE_MARKED_BY_USER` | When the user marks the payment as done but it is not received by us yet. | | `PROCESSING` | Orders in the PROCESSING state have passed the checks and the user's payment information has been validated. | | `PENDING_DELIVERY_FROM_TRANSAK` | When the payment is received and being exchanged & transferred via us or our liquidity partner. | | `ON_HOLD_PENDING_DELIVERY_FROM_TRANSAK` | Order is on hold. | | `COMPLETED` | When we have received the payment and the crypto is sent successfully to the user. | | `CANCELLED` | Order is cancelled. | | `FAILED` | When the order is failed, e.g.: because of the card decline. | | `REFUNDED` | Order is refunded to the user. | | `EXPIRED` | When the user failed to make the payment within the timeframe. | #### Off-Ramp | Status Code | Description | | --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `AWAITING_PAYMENT_FROM_USER` | When the order is created but the payment still not received. | | `PAYMENT_DONE_MARKED_BY_USER` | When the user marks the payment as done but it is not received by us yet. | | `PENDING_DELIVERY_FROM_TRANSAK` | When the payment is received and being exchanged & transferred via us or our liquidity partner. | | `ON_HOLD_PENDING_DELIVERY_FROM_TRANSAK` | When the crypto payment is received and being exchanged & fiat being transferred via our banking partner but because of some issue our system is unable to send the fiat to the user. | | `COMPLETED` | When we have received the crypto payment and fiat is sent successfully to the user's bank account. | | `CANCELLED` | Order is cancelled. | | `FAILED` | When the order is failed, e.g.: because of the card decline. | | `REFUNDED` | Order is refunded to the user. | | `EXPIRED` | When the user failed to make the payment within the timeframe. | ## Use Cases #### Returning User — Skip KYC Check if the user has already onboarded with Transak. If so, remind them they don't need to complete KYC again. #### Pending Order — Resume Flow Check if the user has a pending order and direct them to complete it rather than starting a new one. #### Failed Order — Retry with Different Card If an order fails, direct the user to retry with a different payment method or card. #### Disabled User — Risk Decisions Use Transak's user status signals (e.g. disabled user) as an input into your own risk management decisions. > Monitor order lifecycle with APIs, webhooks, and WebSocket updates