Skip to main content

Order Status

Order statuses include in-progress states and final states. webhooks only deliver final states; use query APIs to inspect in-progress states.

In progress

PENDING and PROCESSING mean the order is not finished and no webhook is sent.

Final

SUCCEEDED, FAILED, EXPIRED, and CANCELED can be used for business posting.

Conflict handling

When callbacks are duplicated or out of order, trust the status confirmed by the query API.

Payment Statuses​

PENDINGprocessing

The order is created and waiting for payment or channel processing.

PROCESSINGprocessing

The channel is processing the payment.

SUCCEEDEDfinal, webhook

The payment succeeded and can be posted.

FAILEDfinal, webhook

The payment failed. Close or release the local pending order.

EXPIREDfinal, webhook

The order expired. Do not continue waiting for user payment.

CANCELEDfinal, webhook

The order was canceled. Do not continue waiting for user payment.

Payout Statuses​

PENDINGprocessing

The payout order is created and waiting for processing.

PROCESSINGprocessing

The payout is being processed.

SUCCEEDEDfinal, webhook

The payout succeeded and can enter reconciliation or user notification flows.

FAILEDfinal, webhook

The payout failed. Release balance or ask the user to update receiving details according to your business rules.

Internal exception states are not exposed to merchants. Query APIs continue to show PROCESSING until the order returns to a final success or failure state.

Returned payouts​

A SUCCEEDED payout can later become REFUNDED when the upstream channel returns the funds and the platform credits the merchant refund. Query and webhook include refundNo, refundAmount (full principal as a decimal string), and refundTime (Unix milliseconds). Do not repeat the payout or apply the refund twice, and do not revert REFUNDED on a late success event. These fields and this state apply to payout returns only; payment and checkout states are unchanged. See Payout webhook.