> For the complete documentation index, see [llms.txt](https://apidoc.tokenpay.me/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://apidoc.tokenpay.me/fr-fr/commande/demande-de-commande.md).

# Demande de commande

{% hint style="info" %}
ASTUCE (TIP)

Demande de détails de commande et statut en temps réel
{% endhint %}

#### Adresse de l'interface (Interface address) <a href="#interface-address" id="interface-address"></a>

```
POST https://api.tokenpay.me/v1/transaction/query
```

#### Paramètres de l'interface (Interface parameters) <a href="#interface-parameters" id="interface-parameters"></a>

| Nom             | Emplacement | Type   | Requis | Description                                                                                              |
| --------------- | ----------- | ------ | ------ | -------------------------------------------------------------------------------------------------------- |
| out\_trade\_no  | query       | string | Non    | Numéro de commande du marchand (passer au moins l'un des deux : `out_trade_no` ou `transaction_id`)      |
| transaction\_id | query       | string | Non    | Numéro de commande de la plateforme (passer au moins l'un des deux : `out_trade_no` ou `transaction_id`) |
| app\_id         | header      | string | Oui    | ID de l'application, valeur d'exemple : `8e4b8c2e7cxxxxxxxx1a1cbd3d59e0bd`                               |
| mch\_id         | body        | string | Oui    | ID du marchand, valeur d'exemple : `12345678`                                                            |

#### Retour de l'interface (Interface return) <a href="#interface-return" id="interface-return"></a>

| Nom         | Type                                                                                      | Requis | Description                                             |
| ----------- | ----------------------------------------------------------------------------------------- | ------ | ------------------------------------------------------- |
| code        | integer                                                                                   | Oui    | [Code de statut](/fr-fr/code-derreur/code-de-statut.md) |
| msg         | string                                                                                    | Oui    | Description du statut                                   |
| request\_id | string                                                                                    | Oui    |                                                         |
| data        | [TransactionDetail](/fr-fr/description/structure-de-donnees.md#details-de-la-transaction) | Non    |                                                         |

#### Exemple de retour (Return example) <a href="#return-example" id="return-example"></a>

```json
{
    "code": 0,
    "msg": "ok",
    "request_id": "08250916-a677-4a36-a090-323807ac644c",
    "data": {
        "out_trade_no": "fb722ca8-ed7b-444b-9f58-0b5c8a7b52cb",
        "transaction_id": "e98b3029477f4bdcb971797a9d9e09ce",
        "trade_state": "SUCCESS",
        "description": "Recharge",
        "block_no": 33215220,
        "create_time": 1673407302044,
        "block_time": 1673407329000,
        "expire_time": 1673407902044,
        "expire_second": 0,
        "pay_time": 1673407329000,
        "close_time": 0,
        "tx_id": "9fdf0ab5823e23225f93bcc644af30a6ab83b6583a8e29e359ee80219802a33a",
        "from_address": "TULRFYoFuEmUbxxxxxxxx8nQYFHJ88888",
        "contract_address": "",
        "to_address": "TQjxEW2Z3p9wjoxxxxxxxxgJUrWXBun91w",
        "amount": 15000000,
        "chain": "TRON",
        "decimals": 6,
        "attach": "anim dolore",
        "service_amount": 45000,
        "service_amount_currency": "USDT",
        "notify_url": "/console/callback/pay",
        "notify_num": 1,
        "notify_status": 2,
        "status": 2,
        "currency": {
            "type": "TRX",
            "chain": "TRON",
            "code": "TRON_TRX",
            "currency": "TRX",
            "name": "TRX",
            "sub_name": "TRON",
            "logo": "https://xxx/trx_busd.png",
            "contract_address": "",
            "decimal": 6,
        }
    }
}
```

#### Exemple de code (Example code) <a href="#example-code" id="example-code"></a>

{% tabs %}
{% tab title="Shell" %}

```sh
curl --location --request GET 'https://api.tokenpay.me/v1/transaction/query' \
--header 'Authorization: <Authorization>' \
--header 'User-Agent: tokenpay API (https://tokenpay.me)' \
--header 'Content-Type: application/json' \
--data-raw '<body data here>'
```

{% endtab %}

{% tab title="Go" %}

```go
package main

import (
   "fmt"
   "strings"
   "net/http"
   "io/ioutil"
)

func main() {

   url := "https://api.tokenpay.me/v1/transaction/query"
   method := "GET"

   payload := strings.NewReader(`<body data here>`)

   client := &http.Client {
   }
   req, err := http.NewRequest(method, url, payload)

   if err != nil {
      fmt.Println(err)
      return
   }
   req.Header.Add("Authorization", "<Authorization>")
   req.Header.Add("User-Agent", "tokenpay API (https://tokenpay.me)")
   req.Header.Add("Content-Type", "application/json")

   res, err := client.Do(req)
   if err != nil {
      fmt.Println(err)
      return
   }
   defer res.Body.Close()

   body, err := ioutil.ReadAll(res.Body)
   if err != nil {
      fmt.Println(err)
      return
   }
   fmt.Println(string(body))
}
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
   CURLOPT_URL => 'https://api.tokenpay.me/v1/transaction/query',
   CURLOPT_RETURNTRANSFER => true,
   CURLOPT_ENCODING => '',
   CURLOPT_MAXREDIRS => 10,
   CURLOPT_TIMEOUT => 0,
   CURLOPT_FOLLOWLOCATION => true,
   CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
   CURLOPT_CUSTOMREQUEST => 'GET',
   CURLOPT_POSTFIELDS =>'<body data here>',
   CURLOPT_HTTPHEADER => array(
      'Authorization: <Authorization>',
      'User-Agent: tokenpay API (https://tokenpay.me)',
      'Content-Type: application/json'
   ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
```

<br>
{% endtab %}

{% tab title="Python" %}

```python
import http.client
import json

conn = http.client.HTTPSConnection("https://api.tokenpay.me")
payload = "<body data here>"
headers = {
   'Authorization': '<Authorization>',
   'User-Agent': 'tokenpay API (https://tokenpay.me)',
   'Content-Type': 'application/json'
}
conn.request("GET", "/v1/transaction/query", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```

{% endtab %}

{% tab title="Java" %}

```java
OkHttpClient client = new OkHttpClient().newBuilder()
   .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "<body data here>");
Request request = new Request.Builder()
   .url("https://api.tokenpay.me/v1/transaction/query")
   .method("GET", body)
   .addHeader("Authorization", "<Authorization>")
   .addHeader("User-Agent", "tokenpay API (https://tokenpay.me)")
   .addHeader("Content-Type", "application/json")
   .build();
Response response = client.newCall(request).execute();
```

{% endtab %}
{% endtabs %}
