Retrieve an order
Retrieve an order by its Stabo order ID. The response structure is the same as the order creation response.
You can only retrieve On-Ramp orders of your own merchant account. Other orders return "order not found".
Use Webhooks as the primary channel and order queries as a fallback. If you poll, wait at least 30 seconds between requests, and stop when the order reaches a final status.
If a Webhook and an order query disagree, the order query result is authoritative.
bearerAuthAuthorizationBearer <token>The access_token obtained from POST /oauth2/token. Header format: Authorization: Bearer {accessToken}. The merchant identity comes from the token. The request body does not accept merchant or tenant fields.
orderId*stringStabo order ID returned by order creation
Returns the order.
application/json- response
code?integerBusiness status code
message?stringtraceId?stringRequest trace ID. Provide it when you contact technical support
data?On-Ramp order. Order creation, order queries, and Webhooks use the same structure.
curl -X GET 'https://api.test.stabofx.com/openapi/v1/collections/on-ramp/orders/bco_8f3k2m9q1x7z4t6w'{ "code": 200, "message": "OK", "traceId": "trace-uuid-string", "data": { "orderId": "bco_8f3k2m9q1x7z4t6w", "referenceNo": "merchant-order-0001", "status": "COMPLETED", "country": "MX", "fiatCurrency": "MXN", "fiatAmount": "954.77", "fiatFee": "13.50", "cryptoCurrency": "USDT", "cryptoAmount": "50.000000", "price": "18.8253", "paymentInfo": { "method": "SPEI", "clabe": "706180000000000001", "reference": "REF123456" }, "payer": { "name": "Juan Perez Lopez" }, "expiresAt": "2026-11-01T06:15:00Z", "createdAt": "2026-11-01T10:15:00+08:00", "completedAt": "2026-11-01T10:32:08+08:00", "failureReason": null }}Create an order POST
Create an On-Ramp order and return payment instructions. On success, the endpoint returns HTTP 200 and the new order has `status` `AWAITING_PAYMENT`. The payer must transfer `fiatAmount` MXN to `paymentInfo.clabe` before `expiresAt`. The provider sets the order price in real time. It can differ from the quote. The order creation response is authoritative. Pass exactly one of `fiatAmount` and `cryptoAmount`. When you create an order by `fiatAmount`, the provider confirms the USDT amount to be credited. The credited amount is the `cryptoAmount` in the response. Before the provider confirms, `cryptoAmount` can be empty. An empty `paymentInfo` means the provider has not yet confirmed the collection. Retry the order creation with the same `Idempotency-Key`, or retrieve the order later. If the provider rejects the request, the order is set to `FAILED`. A replay with the same `Idempotency-Key` returns that `FAILED` order. Payer KYC is only forwarded to the provider. Stabo does not store it, and does not return the ID number or contact details in responses. The payer's receive account must already be open. See the Open a receive account endpoint. If it is not open, order creation returns "receive account being opened" and does not create an order.
List Payment Intents GET
Lists Payment Intents with pagination. Pass filters as query parameters.