Status codes
The Orbi Payments Gateway API uses standard HTTP status codes to indicate the result of an API request. Status codes help you determine whether a request was successful, failed due to client input, or failed due to a server-side issue.
Understanding these codes will allow your integration to handle errors gracefully and implement appropriate retry or fallback logic.
HTTP status codes
| Code | Status | Meaning |
|---|---|---|
200 | OK | The request was processed successfully and the response contains the requested data. |
201 | Created | A new resource was successfully created as a result of the request. |
204 | No Content | The request was successful, but there is no response body to return. |
400 | Bad Request | The request is malformed, contains invalid parameters, or fails validation. |
401 | Unauthorized | Authentication failed or the API key is missing or invalid. |
403 | Forbidden | The API key is authenticated but does not have permission to access the requested resource. |
500 | Internal Server Error | An unexpected error occurred on Orbi’s servers. |
503 | Service Unavailable | The service is temporarily unavailable or unable to handle the request. |
Handling errors
For error responses (4xx and 5xx), the API returns a structured error payload describing the failure.
You should:
- Treat
4xxerrors as non-retryable unless the request is corrected - Retry
5xxerrors with exponential backoff - Log error responses for observability and debugging
- Avoid retrying requests that resulted in
401or403errors without fixing authentication or permissions
Example error response
message property could be a string if only one message is provided or an array of strings if exist more than one message.
{
"message": "Order total amount must not exceed $1000 USD",
"error": "Bad Request",
"statusCode": 400
}{
"message": [
"enable_rails must contain at least 1 elements",
"each value in enable_rails must be one of the following values: orbi_pay, crypto_deposit",
"payment_currency must be one of the following values: USDT, USDC, USDG, BTC, ETH"
],
"error": "Bad Request",
"statusCode": 400
}Updated 7 months ago
Did this page help you?