Statuses
| Status | Type | Meaning |
|---|---|---|
pending | Transitory | Payout created; not yet submitted to the gateway. |
processing | Transitory | Submitted to the gateway; awaiting verification. |
completed | Final | Verified successful by Orqex. |
failed | Final | Verified failed. Read the failure object. |
pending and processing are non-terminal. Treat completed and failed as final and act on them.
How Orqex finalises a payout
Orqex never trusts the gateway’s inline response as the authoritative outcome. After submission, status is resolved through two mechanisms:- Webhook / callback from the gateway — when the gateway posts an outcome event to Orqex, the payout is verified and transitioned immediately.
- Reconciliation poller — a background job periodically re-fetches the payout status from the gateway. This covers gateways that do not deliver callbacks reliably.
processing for minutes to
hours depending on the gateway and network. Design your integration around
payout webhooks for the fastest notification.
Failure details
When a payout reachesfailed, the failure object is populated:
Top-level human-readable message (mirrors
failure.code.message).Failure categories
| Category | Meaning |
|---|---|
VALIDATION_ERROR | Request rejected before submission: invalid field or rule violation. |
RECIPIENT_ERROR | Recipient-fixable: invalid account, unregistered number. |
INSUFFICIENT_FUNDS | The gateway or source account lacks sufficient funds. |
GATEWAY_ERROR | Provider-side error or rejection. |
TELCO_ERROR | Mobile-network or telco-side failure. |
MERCHANT_CONFIG_ERROR | Misconfiguration: missing routing rule, invalid gateway credentials. |
PLATFORM_ERROR | Platform fault. Contact support if persistent. |
Crypto settlement note
For crypto payouts, Orqex performs a settlement conversion: the payout is denominated in your project’s currency, and the equivalent crypto amount is computed and transmitted at execution time. The exchange rate used is captured on the payout. No currency conversion occurs for non-crypto methods.There is no automatic retry or failover for failed payouts. If a payout fails, create a new
one explicitly after resolving the underlying issue.