Skip to main content

list_orders

Paginates the consenting user’s order history, sorted by creation time in descending order (newest first). Before returning, the status of every open order on the page is refreshed automatically, so the status you get is normally the current one — no need to confirm order by order.
Completed and cancelled orders are not refreshed. Those orders are already settled and their status will not change again. The one exception is a refund issued after an order completes — that will not show up in the list, so query the order with get_order_status.
Use get_order_status when you need rider and delivery information. list_orders returns an overview (status / shop / payable amount / item breakdown / time). When you need rider and delivery information, or paid/completed times, call get_order_status with an order_id from the list.
Consent rotation does not affect visibility. Orders are attached to the user’s consent relationship (not to a single consent_grant_id): after the user re-binds or the grant rotates, the newly issued consent_grant_id can still see all of that user’s order history. The list is scoped to the current consenting user and never returns another user’s orders.

Parameters

Returns

The amount field payable_price is in cents (integer), not yuan. e.g. payable_price: 2300 means ¥23.00.
status enum vs status_text:
In rare cases the status refresh times out; that order falls back to its last known status while the rest of the list is unaffected. For especially time-sensitive cases you can double-check that order with get_order_status. Unrecognized statuses safely fall back to created and never leak the channel’s raw status code to the caller.

Pagination

  • On the first call, omit offset (or pass 0) to get the first page.
  • When the response’s next_offset is non-null, use it as the offset of the next call; null means you’ve reached the last page.
  • An empty orders array means the user has no orders.

Error Codes

See Error Handling for the full list.

Example Call