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
PENDINGprocessingThe order is created and waiting for payment or channel processing.
PROCESSINGprocessingThe channel is processing the payment.
SUCCEEDEDfinal, webhookThe payment succeeded and can be posted.
FAILEDfinal, webhookThe payment failed. Close or release the local pending order.
EXPIREDfinal, webhookThe order expired. Do not continue waiting for user payment.
CANCELEDfinal, webhookThe order was canceled. Do not continue waiting for user payment.
Payout Statuses
PENDINGprocessingThe payout order is created and waiting for processing.
PROCESSINGprocessingThe payout is being processed.
SUCCEEDEDfinal, webhookThe payout succeeded and can enter reconciliation or user notification flows.
FAILEDfinal, webhookThe 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.