# Доступные методы для создания заказа

## Запрос

<mark style="color:blue;">`GET`</mark> / <mark style="color:green;">`POST`</mark>  `https://aaio.so/api/methods-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="159">name</th><th width="91">type</th><th>description</th></tr></thead><tbody><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",
    "list": {
        "tether_trc20": { // Кодовое название метода
            "name": "Tether TRC-20", // Название метода
            "min": { // Минимальная сумма для каждой валюты
                "RUB": 410,
                "UAH": 169,
                "USD": 6,
                "EUR": 5
            },
            "max": { // Максимальная сумма для каждой валюты
                "RUB": 25000,
                "UAH": 10246,
                "USD": 312,
                "EUR": 287
            },
            "commission_percent": 3, // Общий процент комиссии
            "commission_user_percent": 3, // Процент комиссии на покупателе
            "commission_merchant_percent": 0, // Процент комиссии на магазине
            "commission_type": "0:100" // Процентное соотношение комиссии в формате "Комиссия магазина:Комиссия покупателя"
        }
    }
}
```

{% 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/methods-pay' \
-H 'accept: application/json' \
-H 'x-api-key: API_KEY' \
-d 'merchant_id=f56b279c-d250-11ed-afa1-0242ac120002'
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php
$api_key = ''; // Ключ API из раздела https://aaio.so/cabinet/api
$merchant_id = 'f56b279c-d250-11ed-afa1-0242ac120002'; // ID Вашего магазина

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://aaio.so/api/methods-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
]));
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/methods-pay'
api_key = '' # Ключ API из раздела https://aaio.so/cabinet/api
merchant_id = 'f56b279c-d250-11ed-afa1-0242ac120002' # ID Вашего магазина

params = {
    'merchant_id': merchant_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/dostupnye-metody-dlya-sozdaniya-zakaza.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.
