# Query Order

Query order API used for merchant/partner to query order status

## EndPoint

```http request
POST /binancepay/openapi/v2/order/query
```

## Request Parameters

| **Attributes**      | **Type** | **Required** | **Limitation**                                                                         | **Description**                                                                               |
| ------------------- | -------- | ------------ | -------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| **prepayId**        | string   | N            | letter or digit, no other symbol allowed, can not be empty if merchantTradeNo is empty | Binance unique order id                                                                       |
| **merchantTradeNo** | string   | N            | letter or digit, no other symbol allowed, can not be empty if prepayId is empty        | The order id, Unique identifier for the request. Will be ignored if prepayId already provided |

### Sample Request Body

Query order result by merchantTradeNo:

```json
{
  "merchantTradeNo": "9825382937292"
}
```

Query order result by prepayId:

```json
{
  "prepayId": "9825382937292"
}
```

## Response Parameters

| **Attributes**   | **Type**         | **Required** | **Limitation**                      | **Description**                                |
| ---------------- | ---------------- | ------------ | ----------------------------------- | ---------------------------------------------- |
| **status**       | string           | Y            | &#34;SUCCESS&#34; or &#34;FAIL&#34; | status of the API request                      |
| **code**         | string           | Y            | -                                   | request result code, [refer to ](#result-code) |
| **data**         | QueryOrderResult | N            | -                                   | response body, [refer to](#order-result)       |
| **errorMessage** | string           | Y            | -                                   |                                                |

## Child Attribute

### QueryOrderResult

<span id="order-result"></span>

| **Attributes**      | **Type** | **Required** | **Limitation**                                                                                                                                                                 | **Description**                                                        |
| ------------------- | -------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------- |
| **merchantId**      | long     | Y            | -                                                                                                                                                                              | The merchant account id, issued when merchant been created at Binance. |
| **prepayId**        | string   | Y            | -                                                                                                                                                                              | unique id generated by binance                                         |
| **transactionId**   | string   | N            | -                                                                                                                                                                              | issued once the payment is successful                                  |
| **merchantTradeNo** | string   | Y            | letter or digit, no other symbol allowed, can not be empty if prepayId is empty                                                                                                | The order id, Unique identifier for the request                        |
| **status**          | string   | Y            | &#34;INITIAL&#34;, &#34;PENDING&#34;, &#34;PAID&#34;, &#34;CANCELED&#34;, &#34;ERROR&#34;, &#34;REFUNDING&#34;, &#34;REFUNDED&#34;, &#34;FULL_REFUNDED&#34;, &#34;EXPIRED&#34; | order status                                                           |
| **currency**        | string   | Y            | -                                                                                                                                                                              | order currency                                                         |
| **orderAmount**     | string   | Y            | limitation refer to Create Order API order amount                                                                                                                              | order amount                                                           |
| **openUserId**      | string   | N            | -                                                                                                                                                                              | Consumer unique id                                                     |
| **passThroughInfo** | string   | N            | -                                                                                                                                                                              | pass through info, from the create order api                           |
| **commission**      | string   | N            | -                                                                                                                                                                              | Transaction fees charged. Please refer to your contract for more info  |
| **transactTime**    | long     | N            | -                                                                                                                                                                              | Timestamp when transaction happened                                    |
| **createTime**      | long     | Y            | -                                                                                                                                                                              | Timestamp when order was created                                       |
| **paymentInfo**     | object   | N            | -                                                                                                                                                                              | payment information, [refer to](#paymentInfo-data)                     |

### PaymentInfo Data

<span id="paymentInfo-data"></span>

| **Attributes**          | **Type**                 | **Required** | **Limitation** | **Description**                                                                                                                                                                                                                                                                                    |
| ----------------------- | ------------------------ | ------------ | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **payerId**             | string                   | Y            | -              | payer pay id                                                                                                                                                                                                                                                                                       |
| **payMethod**           | string                   | Y            | -              | pay method                                                                                                                                                                                                                                                                                         |
| **paymentInstructions** | list[PaymentInstruction] | Y            | -              | payment instruction list, [refer to](#paymentInstruction-data)                                                                                                                                                                                                                                     |
| **channel**             | string                   | N            | -              | channel                                                                                                                                                                                                                                                                                            |
| **subChannel**          | string                   | N            | -              | sub channel                                                                                                                                                                                                                                                                                        |
| **payerDetail**         | string                   | N            | -              | encrypted payer identity information for merchant compliance purposes without compromising privacy and security. Decryption instructions please [refer to](authentication#decryption-instructions-for-merchant-data-sharing). <br/> **This function is only available for whitelisted merchants.** |

### PaymentInstruction Data

<span id="paymentInstruction-data"></span>

| **Attributes** | **Type** | **Required** | **Limitation** | **Description**  |
| -------------- | -------- | ------------ | -------------- | ---------------- |
| **currency**   | string   | Y            | -              | payment currency |
| **amount**     | string   | Y            | -              | currency amount  |
| **price**      | string   | Y            | -              | currency price   |

### Sample Response

```json
{
  "status": "SUCCESS",
  "code": "000000",
  "data": {
    "merchantId": 98729382672,
    "prepayId": "383729303729303",
    "transactionId": "23729202729220282",
    "merchantTradeNo": "9825382937292",
    "status": "PAID",
    "currency": "USDT",
    "orderAmount": "10.88",
    "openUserId": "",
    "passThroughInfo": "",
    "transactTime": 1425744000123,
    "createTime": 1425744000000,
    "paymentInfo": {
      "payerId": "100103455154",
      "payMethod": "funding",
      "paymentInstructions": [
        {
          "currency": "USDT",
          "amount": "10.88",
          "price": "1"
        }
      ],
      "channel": "DEFAULT"
    }
  },
  "errorMessage": ""
}
```

## Result Code

<span id="result-code"></span>

| **Name**                           | **Code** | **Reason**                                                                     | **Solution**                                                                                   |
| ---------------------------------- | -------- | ------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------- |
| UNKNOW_ERROR                       | 400000   | An unknown error occurred while processing the request.                        | Try again later                                                                                |
| INVALID_REQUEST                    | 400001   | Parameter format is wrong or parameter transferring doesn't follow the rules.  | Please check whether the parameters are correct.                                               |
| INVALID_SIGNATURE                  | 400002   | Incorrect signature result                                                     | Check whether the signature parameter and method comply with signature algorithm requirements. |
| INVALID_TIMESTAMP                  | 400003   | Timestamp for this request is outside of the time window.                      | Sync server clock                                                                              |
| INVALID_API_KEY_OR_IP              | 400004   | API identity key not found or invalid.                                         | Check API identity key                                                                         |
| BAD_API_KEY_FMT                    | 400005   | API identity key format invalid.                                               | Check API identity key.                                                                        |
| MANDATORY_PARAM_EMPTY_OR_MALFORMED | 400100   | A parameter was missing/empty/null, or malformed.                              |                                                                                                |
| INVALID_PARAM_WRONG_LENGTH         | 400101   | A parameter was not valid, was empty/null, or too long/short, or wrong format. |                                                                                                |
| INVALID_PARAM_WRONG_VALUE          | 400102   | A parameter was not valid, the value is out of range.                          |                                                                                                |
| INVALID_PARAM_ILLEGAL_CHAR         | 400103   | A parameter was not valid, contains illegal characters                         |                                                                                                |
| INVALID_REQUEST_TOO_LARGE          | 400104   | Invalid request, content length too large                                      |                                                                                                |
| INVALID_MERCHANT_TRADE_NO          | 400201   | merchantTradeNo is invalid or duplicated                                       |                                                                                                |
| ORDER_NOT_FOUND                    | 400202   | Order not found.                                                               |                                                                                                |
| INVALID_ACCOUNT_STATUS             | 400203   | Not support for this account, please check account status.                     |                                                                                                |
