# API Deposit Order Information Interface

## Return order information

<mark style="color:green;">`POST`</mark> `https://admin.ccpayment.com/ccpayment/v1/bill/info`

#### Headers

| Name                                           | Type   | Description                                                                                                                                                                                                                   |
| ---------------------------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Appid<mark style="color:red;">\*</mark>        | String | Merchant's unique credential. Find it on the [Developer page](https://admin.ccpayment.com/developer/config).                                                                                                                  |
| Timestamp<mark style="color:red;">\*</mark>    | String | Timestamp in seconds (10-digit). The request is valid for two minutes.                                                                                                                                                        |
| Sign<mark style="color:red;">\*</mark>         | String | SHA-256 (APPID + APP Secret +timestamp+<mark style="color:red;">**body (json string)**</mark>). [Signature guide](https://doc.ccpayment.com/~/changes/HSMg9pcC4k6HIczMjOvx/ccpayment-for-developer/to-get-started/signature). |
| Content-Type<mark style="color:red;">\*</mark> | String | application/json; charset=utf-8                                                                                                                                                                                               |

#### Request Body

| Name                                                   | Type  | Description                                                                                                                                                          |
| ------------------------------------------------------ | ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| merchant\_order\_ids<mark style="color:red;">\*</mark> | Array | Merchant Order ID, max limit 100. Pass only one type of order id, either deposit **OR** withdrawal. DO NOT pass both deposit and withdrawal order ids in one request |

{% tabs %}
{% tab title="200: OK Success (200)/Fail (201)" %}
{% tabs %}
{% tab title="Success (200) for API deposit" %}

#### API deposit order response

#### Header

#### Body

```json
{
    "code":10000,
    "msg":"success",
    "data":[
    {
        "order_detail":{
            "product_price":"0.1",
            "denominated_currency":"USD",
            "product_name":"gmail-deposit",
            "merchant_order_id":"1684723374629",
            "chain":"FTM",
            "contract":"250",
            "crypto":"FTM",
            "order_amount":"0.279173646007816863",
            "status":"Successful",
            "token_rate":"0.3582"
            "created":1684723398
        },
        "trade_list":[
            {
                "amount":"0.279173646007816863",
                "chain":"FTM",
                "contract":"250",
                "crypto":"FTM",
                "service_fee":"0.000083752093802346",
                "network_fee":"0.0000",
                "txid":"0x5caafde27a8040547a169168c55f35806eb0ca68344b2d53894097b0e9d5fa89",
                "pay_time":1684727677,
                "token_rate":"0.3582"
            }
        ],
        "refund_list":[
            {
                "refund_amount":"0.1",
                "network_fee":"0.05412",
                "actual_received_amount":"0.04588",
                "chain":"FTM",
                "contract":"250",
                "crypto":"FTM",
                "txid":"0xd37611ed48253d30b6aefe0adf7e053b07def7557d6211a73f121a57b342dd56",
                "address":"0x3b55Ec4D9d15528B78958Fd3EeEAe87a893EDffF",
                "pay_time":1684737832,
                "status":"Successful"
            }
        ]
    }
  ]
}
```

#### Parameters

{% endtab %}

{% tab title="Fail (201)" %}

```json
{
    "code": 224066,
    "msg": "service err, please try again"
}
```

{% endtab %}

{% tab title="Remarks" %}
As a security measure, we will sign the returned data (and according to this only { code: 10000 } should be signed, but it's signing all the returned body.). Additionally, it will return Appid, Sign, Timestamp  in the header of the response.  The signature method SHA-256 (appid+appSecret+Timestamp+body).

Please use the data with caution if the signature verification fails. It indicates that the data has been tampered with.
{% endtab %}
{% endtabs %}
{% endtab %}
{% endtabs %}

<table><thead><tr><th width="182">Name</th><th width="133">Value</th><th width="84" data-type="checkbox">Required</th><th width="87">Type</th><th width="264">Description</th></tr></thead><tbody><tr><td>code</td><td>10000</td><td>true</td><td>Integer</td><td></td></tr><tr><td>msg</td><td>Success</td><td>true</td><td>String</td><td></td></tr><tr><td>data</td><td></td><td>true</td><td>Array</td><td></td></tr><tr><td>data.order_detail</td><td></td><td>true</td><td>Object</td><td>detail of orders</td></tr><tr><td>data.order_detail.product_price</td><td>0.1</td><td>true</td><td>String</td><td>Amount (in USD by default)</td></tr><tr><td>data.order_detail.denominated_currency</td><td>USD</td><td>true</td><td>String</td><td><p>The currency for calculating the order price, it could be cryptocurrency or <a href="/pages/VUYNoeUCAdtQ5vH1QbsB">fiat currency</a>. Cryptocurrency: value "token" (string)</p><p>Fiat currency: value "currency code". Click to check <a href="https://doc.ccpayment.com/ccpayment-api-for-developer/resources-document/list-of-denominated-currency-for-api-payment">currency code list</a></p></td></tr><tr><td>data.order_detail.product_name</td><td>product name 01</td><td>true</td><td>String</td><td>Merchandise name</td></tr><tr><td>data.order_detail.merchant_order_id</td><td>1234567890</td><td>true</td><td>String</td><td>Merchant order ID</td></tr><tr><td>data.order_detail.chain</td><td>ETH</td><td>true</td><td>String</td><td></td></tr><tr><td>data.order_detail.contract</td><td>0xdAC17F958D2ee523a2206206994597C13D831ec7</td><td>true</td><td>String</td><td>Contract</td></tr><tr><td>data.order_detail.crypto</td><td>USDT</td><td>true</td><td>String</td><td>Crypto symbol</td></tr><tr><td>data.order_detail.order_amount</td><td>0.09921</td><td>true</td><td>String</td><td>If the pricing currency is cryptocurrency, order_amount = product_price; when the pricing currency is fiat currency, order_amount=product_price/fiat_rate/token_rate</td></tr><tr><td>data.order_detail.rate</td><td>0.9921</td><td>true</td><td>String</td><td></td></tr><tr><td>data.order_detail.status</td><td>Successful</td><td>true</td><td>String</td><td><p>"Pending": Waiting for the payment. Or the payment has been made, but it can not be tracked on the chain yet. </p><p></p><p>"Processing": Detected the on-chain payment. But it has yet to arrive at the receiving address.</p><p></p><p>"Expired": Exceed the validity time of the order.</p><p></p><p>"Successful" </p><p></p><p>"Failed"</p><p></p><p>"Overpaid": Amount paid is more than the order amount</p><p></p><p>"Underpaid": Amount paid is less than the order amount. </p><p></p><p>"Overdue paid": Payment time is outside the validity payment time. </p><p></p><p>"Multiple paid": Multiple payments for one order.</p><p></p><p>There are only three statuses for withdrawal orders: "Processing", "Successful", and "Failed".</p></td></tr><tr><td>data.trade_list</td><td></td><td>true</td><td>Array</td><td>In transaction list, API deposits may have multiple transactions, withdrawals have only one transaction.</td></tr><tr><td>data.trade_list.paid_amount</td><td>0.09921</td><td>true</td><td>String</td><td></td></tr><tr><td>data.trade_list.chain</td><td>ETH</td><td>true</td><td>String</td><td></td></tr><tr><td>data.trade_list.contract</td><td>0xdAC17F958D2ee523a2206206994597C13D831ec7</td><td>true</td><td>String</td><td>Contract</td></tr><tr><td>data.trade_list.crypto</td><td>USDT</td><td>true</td><td>String</td><td>Crypto symbol</td></tr><tr><td>data.trade_list.service_fee</td><td>0.000083752093802346</td><td>true</td><td>String</td><td></td></tr><tr><td>data.trade_list.network_fee</td><td>0.00000</td><td>true</td><td>String</td><td></td></tr><tr><td>data.trade_list.txid</td><td>0x5caafde27a8040547a169168c55f35806eb0ca68344b2d53894097b0e9d5fa89</td><td>true</td><td>String</td><td></td></tr><tr><td>data.trade_list.pay_time</td><td>1684727677</td><td>true</td><td>String</td><td></td></tr><tr><td>data.trade_list.token_rate</td><td>0.9921</td><td>true</td><td>String</td><td></td></tr><tr><td>data.refund_list</td><td></td><td>false</td><td>Array</td><td>Only deposit orders have "refund" parameter. Withdrawal orders don't have this parameter</td></tr><tr><td>data.refund_list.refund_amount</td><td>0.099</td><td>true</td><td>String</td><td></td></tr><tr><td>data.refund_list.network_fee</td><td>0.05412</td><td>true</td><td>String</td><td></td></tr><tr><td>data.refund_list.actual_received_amount</td><td>0.04488</td><td>true</td><td>String</td><td></td></tr><tr><td>data.refund_list.chain</td><td>ETH</td><td>true</td><td>String</td><td></td></tr><tr><td>data.refund_list.contract</td><td>0xdAC17F958D2ee523a2206206994597C13D831ec7</td><td>true</td><td>String</td><td></td></tr><tr><td>data.refund_list.crypto</td><td>USDT</td><td>true</td><td>String</td><td></td></tr><tr><td>data.refund_list.txid</td><td>0xd37611ed48253d30b6aefe0adf7e053b07def7557d6211a73f121a57b342dd56</td><td>true</td><td>String</td><td></td></tr><tr><td>data.refunds_list.address</td><td>0x3b55Ec4D9d15528B78958Fd3EeEAe87a893EDffF</td><td>true</td><td>String</td><td></td></tr><tr><td>data.refund_list.pay_time</td><td>1684737832</td><td>true</td><td>String</td><td></td></tr><tr><td>data.refund_list.status</td><td>Successful</td><td>true</td><td>String</td><td><p>"Processing"</p><p>"Successful"</p><p>"Failed"</p></td></tr></tbody></table>

<table><thead><tr><th width="134">Name</th><th width="188">Value</th><th width="104" align="center">Required</th><th width="82">Type</th><th width="299">Description</th></tr></thead><tbody><tr><td>Appid</td><td>202302010636261620672405236006912</td><td align="center">Y</td><td>string</td><td>Merchant's unique credential. Find it on the Developer page.</td></tr><tr><td>Timestamp</td><td>1677152490</td><td align="center">Y</td><td>string</td><td>Timestamp in seconds (10-digit). The request is valid for two minutes.</td></tr><tr><td>Sign</td><td>871f0223c66ea72435208d03603a0cb00b90f6ac4a4ba725d00164d967e291f6</td><td align="center">Y</td><td>string</td><td>SHA-256 (appId + appSecret + timestamp+<mark style="color:red;"><strong>body (json string)</strong></mark>)</td></tr></tbody></table>

### **Request Body Example**

```json
{
	"merchant_order_ids":["12345","23456"]
	//DO NOT pass both deposit and withdrawal order ids in one request
	//Max order limit: 100
}
```

The transaction details of invoice deposit; permanent address direct deposit and refund transaction will be notified via webhooks. You can cross-check all type transactions in [Webhook Notification.](https://admin.ccpayment.com/webhook/index)&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ccpayment.com/ccpayment-v1.0-api/payment-api-ccpayment/api-deposit-order-information-interface.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
