# Информация о заказе

## Запрос

<mark style="color:blue;">`GET`</mark> / <mark style="color:green;">`POST`</mark>  `https://aaio.so/api/info-pay`

### Заголовки

`Accept: application/json` <mark style="color:red;">**\***</mark>\
`Content-Type: application/x-www-form-urlencoded` <mark style="color:red;">**\***</mark>\
`X-Api-Key: {api_key}` <mark style="color:red;">**\***</mark>

#### Определения

`{api_key}` - Ключ API из раздела <https://aaio.so/business/api/keys> с разрешениями:\ <mark style="color:green;">Информация об созданном счете</mark>\
\ <mark style="color:red;">**\***</mark>**&#x20;- обязательные заголовки. Без них Вы не сможете получить корректный ответ.**

### Параметры <mark style="color:red;">(url-encoded)</mark>

<table><thead><tr><th width="160">name</th><th width="91">type</th><th>description</th></tr></thead><tbody><tr><td>order_id <mark style="color:red;"><strong>*</strong></mark></td><td>string</td><td>Идентификатор заказа в Вашей системе</td></tr><tr><td>merchant_id <mark style="color:red;"><strong>*</strong></mark></td><td>uuid</td><td>ID Вашего магазина</td></tr></tbody></table>

<mark style="color:red;">Обратите внимание!</mark> Параметры передаются в формате `application/x-www-form-urlencoded`

## Примеры ответа

**Формат ответа** `application/json`

{% tabs %}
{% tab title="Успех - 200" %}

```json
{
	"type": "success",
	"id": "48ebfc18-e6c7-11ed-a05b-0242ac120003", // ID заказа в нашей системе
	"order_id": "my_id_123", // Идентификатор заказа в Вашей системе
	"desc": "Описание заказа",
	"merchant_id": "f56b279c-d250-11ed-afa1-0242ac120002", // ID Вашего магазина
	"merchant_domain": "aaio.io", // Домен Вашего магазина
	"method": "tether_trc20", // Кодовое название платежной системы если указано
	"amount": 500, // Сумма в валюте платежа
	"currency": "RUB", // Валюта платежа
	"profit": 485, // Сумма зачисления на баланс (в RUB), отображается если указан метод
	"commission": 15, // Комиссия магазина (в RUB), отображается если указан метод
	"commission_client": 0, // Комиссия клиента (в RUB), отображается если указан метод
	"commission_type": "100:0", // Тип комиссии в соотношении (Комиссия магазина:Комиссия покупателя)
	"email": "example@domain.com", // Почта отображается если указана
	"status": "success", // Статус (in_process - в процессе, success - оплачен, expired - истек, hold - оплачен, средства заморожены)
	"date": "2023-03-10 17:08:42", // Дата создания
	"expired_date": "2023-03-11 17:09:21", // Дата до которой необходимо оплатить заказ
	"complete_date": "2023-03-10 17:09:21", // Дата выполнения (отображается только при статусе success)
	"us_vars": [] // Пользовательские значения
}
```

{% endtab %}

{% tab title="Ошибка: 400, 401, 429, 500, 503  " %}
**Пользовательские коды ошибок** - `400`, `401`, `429`\
**Серверные коды ошибок** - `500`, `503`

```json
{
  "type": "fail",
  "code": "400",
  "message": "message"
}
```

{% endtab %}

{% tab title="Другой код ответа" %}
Если код ответа другой, то возможна проблема на стороне сервера API. \
**Рекомендуем учитывать такие ситуации в коде.**
{% endtab %}
{% endtabs %}

## Готовые примеры запроса

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

```bash
curl -X 'POST' \
'https://aaio.so/api/info-pay' \
-H 'accept: application/json' \
-H 'x-api-key: API_KEY' \
-d 'merchant_id=f56b279c-d250-11ed-afa1-0242ac120002' \
-d 'order_id=my_id_123'
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php
$api_key = ''; // Ключ API из раздела https://aaio.io/cabinet/api
$merchant_id = 'f56b279c-d250-11ed-afa1-0242ac120002'; // ID Вашего магазина
$order_id = 'my_id_123'; // Идентификатор заказа в Вашей системе

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://aaio.so/api/info-pay');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    	'Accept: application/json',
	'X-Api-Key: ' . $api_key
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
	'merchant_id' => $merchant_id,
	'order_id' => $order_id
]));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15); // Таймаут подключения к нашему серверу
curl_setopt($ch, CURLOPT_TIMEOUT, 60); // Таймаут обработки запроса

$result = curl_exec($ch); // Ответ
$http_code = curl_getinfo($ch, CURLINFO_RESPONSE_CODE); // Код ответа

if (curl_errno($ch)) {
	die('Connect error:' . curl_error($ch)); // Вывод ошибки соединения
}
curl_close($ch);

if(!in_array($http_code, [200, 400, 401])) {
	die('Response code: ' . $http_code); // Вывод неизвестного кода ответа
}

$decoded = json_decode($result, true); // Парсинг результа. На выходе получаем массив данных

if(json_last_error() !== JSON_ERROR_NONE) {
	die('Не удалось пропарсить ответ');
}

if($decoded['type'] == 'success') {
	print_r($decoded); // Вывод результата
} else {
	die('Ошибка: ' . $decoded['message']); // Вывод ошибки
}
```

{% endtab %}

{% tab title="Python" %}

```python
import requests, sys
from requests.exceptions import ConnectTimeout, ReadTimeout

url = 'https://aaio.so/api/info-pay'
api_key = '' # Ключ API из раздела https://aaio.io/cabinet/api
merchant_id = 'f56b279c-d250-11ed-afa1-0242ac120002' # ID Вашего магазина
order_id = 'my_id_123' # Идентификатор заказа в Вашей системе

params = {
    'merchant_id': merchant_id,
    'order_id': order_id
}

headers = {
    'Accept': 'application/json',
    'X-Api-Key': api_key
}

try:
    response = requests.post(url, data=params, headers=headers, timeout=(15, 60))
except ConnectTimeout:
    print('ConnectTimeout') # Не хватило времени на подключение к сайту
    sys.exit()
except ReadTimeout:
    print('ReadTimeout') # Не хватило времени на выполнение запроса
    sys.exit()

if(response.status_code in [200, 400, 401]):
    try:
        response_json = response.json() # Парсинг результата
    except:
        print('Не удалось пропарсить ответ')
        sys.exit()

    if(response_json['type'] == 'success'):
        print(response_json) # Вывод результата
    else:
        print('Ошибка: ' + response_json['message']) # Вывод ошибки
else:
    print('Response code: ' + str(response.status_code)) # Вывод неизвестного кода ответа
```

{% endtab %}
{% endtabs %}


---

# 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://wiki.aaio.so/api/informaciya-o-zakaze.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.
