Use this file to discover all available pages before exploring further.
Every payment order traverses a deterministic sequence of states from creation to a final state. The states are visible in the status field of every order and they drive webhook events.
Outbound order created. Awaiting PUT .../approve or PUT .../cancel. No money has moved.
PENDING
Transitional
Order accepted by the platform and submitted to the provider. The provider has not yet returned a definitive outcome.
PROCESSING
Transitional
Provider has acknowledged the order and is executing it.
SUCCESS
Final
Provider confirmed settlement. Funds moved (in/out).
FAILED
Final
Provider rejected or could not complete the order. errorCode and errorMessage are populated.
CANCELED
Final
Order canceled before reaching the provider. (Only possible for OUT orders in AWAITING_APPROVAL.)
EXPIRED
Final
Inbound dynamic QR/EMV expired before the payer settled.
REFUNDED
Final
A previously SUCCESS order was refunded.
A final state is terminal — status will not change again. To reverse a SUCCESS, you create a new order in the opposite direction (or a refund flow, where supported).
Outbound orders pause in AWAITING_APPROVAL until you explicitly approve. This gate is where you implement business rules — dual control, anti-fraud, balance verification.
Transition
When
AWAITING_APPROVAL → PENDING
PUT .../approve succeeds. Funds become locked on the wallet.
AWAITING_APPROVAL → CANCELED
PUT .../cancel. No money moved. Order is permanently canceled.
PENDING → PROCESSING
Provider acknowledged receipt.
PROCESSING → SUCCESS
Funds settled at the recipient. locked decreases, amount decreases.
approve and cancel are valid only in AWAITING_APPROVAL. Any attempt at another state returns PAYMENT_ORDER_NOT_AWAITING_APPROVAL or PAYMENT_ORDER_INVALID_STATE (HTTP 422).
For inbound dynamic QR codes, EXPIRED is terminal. If the payer pays after expiration:
The PIX network typically rejects the payment at their end (the QR is no longer valid).
In rare cases where settlement is force-completed, the funds may still appear in your wallet. They will not transition the order — they remain as an unattributed balance entry visible in the wallet ledger.
To handle this safely: do not promise the payer immediate fulfillment based solely on SUCCESS. Reconcile against your local ledger.