---
updatedAt: 2026-06-23T15:10:25.000Z
agentTools:
  projectIndex: https://docs.praxis.tech/llms.txt
---

# API Status & Error Codes

This document outlines the API response status codes and descriptions.

# 💳 API - Direct Card & Refunds

The following codes are returned during Direct Card operations, including withdrawals and refunds.

| Status Code | Description                                                                               |
| :---------- | :---------------------------------------------------------------------------------------- |
| **333**     | Please try again later, service is currently undergoing maintenance.                      |
| **400**     | Request should be json formatted.                                                         |
| **400**     | Request parameter missing: `timestamp` (required with `merchant_id`).                     |
| **400**     | Invalid timestamp format, must be unix timestamp - seconds (required with `merchant_id`). |
| **400**     | Transaction not found!                                                                    |
| **400**     | Timestamp expired: ...s old, should be at most 60s old (required with `merchant_id`).     |
| **400**     | Timestamp cannot be greater than current time (required with `merchant_id`).              |
| **400**     | The `order_id` value is not unique!                                                       |
| **400**     | Request parameter missing: `version` (required with `merchant_id`).                       |
| **400**     | Unsupported API version.                                                                  |
| **400**     | Request parameter missing: `signature` (required with `merchant_id`).                     |
| **400**     | Invalid API version.                                                                      |
| **400**     | Invalid signature.                                                                        |
| **400**     | GT-Authentication header is missing.                                                      |
| **400**     | `merchant_id` parameter is missing.                                                       |
| **401**     | User not found.                                                                           |
| **401**     | Website not found.                                                                        |
| **401**     | API access is disabled. Please contact support.                                           |
| **401**     | Wrong credentials.                                                                        |
| **403**     | Agent API disabled.                                                                       |
| **406**     | Insufficient permissions for merchant account, please contact your account manager.       |
| **406**     | Invalid IP (\[IP\_ADDRESS]).                                                              |
| **999**     | Generic Error.                                                                            |

***

# 🏦 API - Withdrawal Management

In this section, certain error messages are dependent on the current **Transaction Status**.

| Transaction Status             | Status Code | Description                                                                                                                                                                                                                                                                                                                                                                    |
| :----------------------------- | :---------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| -                              | **2**       | The withdrawal transaction does not belong to this account.                                                                                                                                                                                                                                                                                                                    |
| -                              | **2**       | The transaction does not belong to this account.                                                                                                                                                                                                                                                                                                                               |
| -                              | **3**       | The withdrawal transaction does not belong to this card number.                                                                                                                                                                                                                                                                                                                |
| -                              | **3**       | The withdrawal transaction is not using S2S credit cards.                                                                                                                                                                                                                                                                                                                      |
| **`pending`** or **`error`**   | **-1**      | The withdrawal transaction received `pending` or `error` status. <br/> <br/> ***Note :** Merchants are required to manually mark the transaction as  `verification` for manual review and merchant should contact Praxis Technical Support for assistance.*                                                                                                                    |
| -                              | **400**     | Transaction not found.                                                                                                                                                                                                                                                                                                                                                         |
| -                              | **400**     | Application does not match the application of the original transaction.                                                                                                                                                                                                                                                                                                        |
| -                              | **400**     | Transaction must be a payout.                                                                                                                                                                                                                                                                                                                                                  |
| -                              | **400**     | Withdrawal Transaction not found!                                                                                                                                                                                                                                                                                                                                              |
| **`approved`**                 | **400**     | Payout request is already processed.                                                                                                                                                                                                                                                                                                                                           |
| **`cancelled`**                | **400**     | Payout is already cancelled.                                                                                                                                                                                                                                                                                                                                                   |
| **`split_payout`**             | **400**     | Payout is already used for split payout transaction.                                                                                                                                                                                                                                                                                                                           |
| **`requested`**, **`split`**   | **400**     | Payout request status must be "requested" in order to proceed with processing (currently `{$this->transactionInstance->statusName}`).                                                                                                                                                                                                                                          |
| **`requested`**, **`pending`** | **400**     | Payout request status must be "requested" or "pending\_async" in order to proceed with processing (currently `{$this->transactionInstance->statusName}`).                                                                                                                                                                                                                      |
| **`verification`**             | **400**     | No conversion rate information. The request could not be processed.<br /> <br />***Note :** Merchants are required to manually reconcile the transaction status recorded in the Praxis Platform against the status provided by the Payment Service Provider (PSP). If a discrepancy is found between the two systems, please contact Praxis Technical Support for assistance.* |
| **`verification`**             | **400**     | Error status received from server during the processing attempt.<br /> <br />***Note :** Merchants are required to manually reconcile the transaction status recorded in the Praxis Platform against the status provided by the Payment Service Provider (PSP). If a discrepancy is found between the two systems, please contact Praxis Technical Support for assistance.*    |

***

# 🖥️ API - Virtual Terminal & Cashier

Errors related to the Cashier verification and Virtual Terminal interface.

| Status Code | Description                                                         |
| :---------- | :------------------------------------------------------------------ |
| **400**     | No conversion rate information. The request could not be processed. |
| **400**     | customer token is invalid.                                          |
| **400**     | Error status received from server during the processing attempt.    |
| **401**     | Website not found.                                                  |
| **404**     | Application key not found or inactive.                              |
| **406**     | Invalid IP (\[IP\_ADDRESS]).                                        |
| **503**     | Remote server URL not configured.                                   |