💳 Интеграция Native Checkout
Уведомление об обновлении API
Недавно были обновлены конечные точки и параметры API. Подробности см. в Журнале изменений.
Native Checkout API: Пользователи могут отсканировать QR-код или скопировать адрес на странице оформления заказа, созданной на ваших сайтах/в приложениях, для совершения платежей.
Интегрируйтесь с Native Checkout API для создания страницы оформления заказа для ваших сайтов/приложений. Пользователи платят на ваших сайтах/в приложениях. Нет необходимости вести их на внешние страницы. Возьмите под полный контроль процесс оформления заказа вашими пользователями.
📦 1. Создание заказа
- Описание интерфейса: Отправляйте платежные заказы через этот интерфейс и получайте информацию о получении.
- Адрес интерфейса:
POST /api/order/create
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
| out_trade_no | string | Да | ID заказа продавца |
| currency_id | int | Да | Глобальный уникальный ID валюты |
fiat_name | string | Нет | Название фиатной валюты (USD / USDT / JPY / CHF / CAD / NOK / SEK / HKD / SGD / KRW / TWD / CNY / INR / BRL / MXN / ZAR / RUB / TRY / EUR / GBP / AUD / VND / THB) |
| fiat_amount | string | Нет | Сумма в фиатной валюте ("1.2") |
| token_amount | string | Нет | Сумма токена |
| callback_url | string | Нет | URL обратного вызова (callback) |
| time_out | int64 | Нет | 10-значная метка времени истечения срока действия, укажите 0, по умолчанию 30 минут (1753513764) |
Описание полей ответа
| Поле | Тип | Описание | Пример |
|---|---|---|---|
| trade_no | string | ID транзакции | "20250629153045a7b3c9d2e5f8a1b4c6" |
| chain | string | Блокчейн-сеть | "Tron" |
| token | string | Криптовалютный токен | "TRX" |
| contract | string | Адрес контракта токена | "TRX" |
| amount | string | Сумма транзакции | "15.724197" |
| mode | string | Режим платежа | "address" |
| pay_address | string | Адрес получателя | "TSg8kWPE2s7z5Lon6bSnZZrYnquGHx2..." |
| time_expire | integer | Метка времени истечения срока действия | 1753515371 |
| decimal | integer | Десятичные знаки токена | 6 |
| chain_id | integer | ID сети | 3448148188 |
| equity | integer | Значение капитала | 1 |
| create_time | integer | Метка времени создания | 1753513571 |
| amount_collected | string | Собранная сумма | "0" |
| need_confirms | integer | Необходимые подтверждения | 0 |
| already_confirms | integer | Текущие подтверждения | 0 |
| entrust_url | string | URL-адрес платежа | "https://checkout.pay.halochat.io/20260....b876498e0771e1" |
| referer | string | Информация о реферере | "" |
| chain_info | object | Информация о сети | {"token": "TRX", "rpc": "...", ...} |
Пример успешного ответа
{
"code": 0,
"msg": "success",
"data": {
"trade_no": "20260317173635066d54f5b6c7269d41",
"chain": "Tron",
"token": "TRX",
"contract": "TRX",
"amount": "16.556743",
"mode": "address",
"pay_address": "THgSjcyhyxfzrjtS7VYw1vnHvb7QkMsY...",
"time_expire": 1773741995,
"decimal": 6,
"chain_id": 3448148188,
"equity": 1,
"create_time": 1773740196,
"amount_collected": "",
"need_confirms": 0,
"already_confirms": 0,
"entrust_url": "https://checkout.pay.halochat.io/20260317173635066d54f5b6c7269d41",
"referer": "",
"chain_info": {
"token": "TRX",
"abi": "",
"rpc": "https://nile.trongrid.io",
"browser_url": "https://nile.tronscan.org/#/transaction",
"decimal": 6,
"logo": "https://halo-n.oss-ap-southeast-1.aliyuncs.com/png/202505/45d1f4b5-b80f-4331-af78-ec557f97d832.png",
"series": "Tron",
"monitor_chain_id": 3448148188
}
}
}
🔍 2. Запрос заказа
- Описание интерфейса: Используйте этот интерфейс для запроса статуса заказа.
- Адрес интерфейса:
POST /api/order/detail
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
| trade_no | string | Да | ID транзакции |
Описание полей ответа
| Поле | Тип | Описание | Пример |
|---|---|---|---|
| trade_no | string | ID транзакции (платформа) | "20250629153045a7b3c9d2e5f8a1b4c6" |
| out_trade_no | string | ID заказа продавца | "202401011753513569" |
| chain | string | Блокчейн-сеть | "Tron" |
| token | string | Криптовалютный токен | "TRX" |
| contract | string | Адрес контракта токена | "TRX" |
| fiat_name | string | Название фиатной валюты | "USD" |
| fiat_amount | string | Сумма в фиате к оплате | "5" |
| amount | string | Сумма крипто к отправке | "15.724197" |
| mode | string | Режим платежа | "address" |
| pay_address | string | Крипто-адрес получателя | "TSg8kWPE2s7z5Lon6bSnZZrYnquGHx2bsj" |
| status | string | Статус транзакции | "TO-BE-PAID" |
| time_expire | integer | Метка времени истечения срока (Unix) | 1753515371 |
| decimal | integer | Десятичные знаки токена | 6 |
| chain_id | integer | ID сети | 3448148188 |
| equity | integer | Значение капитала | 1 |
| create_time | integer | Метка времени создания (Unix) | 1753513571 |
| amount_collected | string | Собранная сумма | "0" |
| need_confirms | integer | Необходимые подтверждения | 0 |
| already_confirms | integer | Текущие подтверждения | 0 |
| entrust_url | string | URL-адрес платежа (если применимо) | "" |
| referer | string | Информация о реферере | "" |
| chain_info | object | Информация о сети | {"token": "TRX", "rpc": "...", ...} |
Пример успешного ответа
{
"code": 0,
"msg": "success",
"data": {
"trade_no": "20260317173635066d54f5b6c7269d41",
"out_trade_no": "ORDER_1773740195363",
"chain": "Tron",
"token": "TRX",
"contract": "TRX",
"fiat_name": "USD",
"fiat_amount": "5",
"amount": "16.556743",
"mode": "address",
"pay_address": "THgSjcyhyxfzrjtS7VYw1vnHvb7QkMsY7w",
"status": "TO-BE-PAID",
"time_expire": 1773741995,
"decimal": 6,
"chain_id": 3448148188,
"equity": 1,
"create_time": 1773740196,
"amount_collected": "0",
"need_confirms": 0,
"already_confirms": 0,
"entrust_url": "",
"referer": "",
"chain_info": {
"token": "TRX",
"abi": "",
"rpc": "https://nile.trongrid.io",
"browser_url": "https://nile.tronscan.org/#/transaction",
"decimal": 6,
"logo": "",
"series": "",
"monitor_chain_id": 0
}
}
}
💱 3. Обменные курсы
- Описание интерфейса: Получить текущий обменный курс между TOKEN и законной валютой.
- Адрес интерфейса:
POST /api/order/exchange-rates
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
| currency_id | int | Да | Глобальный уникальный ID валюты |
fiat_name | string | Да | Аббревиатура фиатной валюты (USD / USDT / JPY / CHF / CAD / NOK / SEK / HKD / SGD / KRW / TWD / CNY / INR / BRL / MXN / ZAR / RUB / TRY / EUR / GBP / AUD / VND / THB) |
| fiat_amount | string | Да | Сумма в фиатной валюте |
Описание полей ответа
| Поле | Тип | Описание |
|---|---|---|
| amount | string | Сумма |
| exchange_rate | string | Обменный курс |
Пример успешного ответа
{
"code": 0,
"msg": "success",
"data": {
"amount": "0.00001971",
"exchange_rate": "100"
}
}
📋 4. Список токенов приложения (с балансом)
- Описание интерфейса: Возвращает криптовалюты с включённым приёмом платежей для текущего приложения (
X-Appid) и агрегированные по адресам балансы (та же база, что уPOST /api/account/balance). Это не полный каталог платформы; все поддерживаемые токены — в §5 Список токенов. - Адрес интерфейса:
POST /api/currency/app-token-list - Параметры запроса: Тело
{}, заголовки авторизации как у остальных API.
Описание полей ответа
Корневой объект:
| Поле | Тип | Описание |
|---|---|---|
| code | integer | Код, 0 — успех |
| msg | string | Сообщение |
| data | array | Токены с включённым приёмом и балансы приложения |
Элементы data[]:
| Поле | Тип | Описание |
|---|---|---|
| currency_id | integer | Глобальный ID валюты |
| chain | string | Название сети (chain) |
| network | string | Название сети (network) |
| token | string | Символ токена |
| contract | string | Адрес контракта |
| chain_id | integer | ID сети |
| logo | string | URL логотипа |
| decimal | integer | Десятичные знаки |
| balance | string | Общий баланс (строка) |
| operable_balance | string | Доступный баланс |
| frozen_amount | string | Замороженная сумма |
| status | integer | Статус: 1 — включено, 2 — отключено |
| transaction_enabled | boolean | Приём включён (в этом ответе всегда true) |
Пример успешного ответа
{
"code": 0,
"msg": "success",
"data": [
{
"currency_id": 46,
"chain": "Tron",
"network": "Nile",
"token": "JST",
"contract": "TF17BgPaZYbxxxxhriubPDsA7ArKoLX3",
"chain_id": 3448148188,
"logo": "https://halo-n.oss-ap-southeast-1.aliyuncs.com/png/202505/xxx-c3f3-4d5d-a9b5-0143d78326f9.png",
"decimal": 18,
"balance": "0.785074013",
"operable_balance": "0.785074013",
"frozen_amount": "0",
"status": 1,
"transaction_enabled": true
}
]
}
📋 5. Список токенов
- Описание интерфейса: Получить список Token, поддерживаемых системой. Для токенов с включённым приёмом и балансами вашего приложения используйте §4 Список токенов приложения.
- Адрес интерфейса:
POST /api/currency/token-list - Параметры запроса: Нет
Описание полей ответа
| Поле | Тип | Описание |
|---|---|---|
| currency_id | int | Глобальный уникальный ID валюты. |
| chain | string | Сеть (chain) |
| network | string | Сеть (network) |
| token | string | Токен |
| contract | string | Адрес контракта. Если текущая основная валюта совпадает с названием валюты, значение будет соответствовать названию валюты. |
| chain_id | int | ID сети. Только серия Ethereum имеет значение. |
| logo | string | Логотип |
| decimal | int | Точность |
Пример успешного ответа
{
"code": 0,
"msg": "success",
"data": [
{
"currency_id": 46,
"chain": "Tron",
"token": "JST",
"network": "Nile",
"contract": "TF17BgPaZYbxxxxhriubPDsA7ArKoLX3",
"chain_id": 3448148188,
"logo": "https://halo-n.oss-ap-southeast-1.aliyuncs.com/png/202505/xxx-c3f3-4d5d-a9b5-0143d78326f9.png",
"decimal": 18
}
]
}
💸 6. Выплата (Payout)
- Описание интерфейса: Продавцы могут выводить наличные на указанный адрес через этот интерфейс.
- Адрес интерфейса:
POST /api/payout/create
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
| currency_id | int | Да | Глобальный уникальный ID валюты |
| amount | string | Да | Базовая сумма валюты |
| to_address | string | Да | Адрес получателя |
| callback_url | string | Нет | Адрес обратного вызова (по умолчанию адрес обратного вызова, установленный APPID продавца) |
| google_code | string | Нет | Код проверки Google (обязательно, если проверка включена для текущего приложения) |
Пример успешного ответа
{
"code": 0,
"msg": "success",
"data": {
"cost": "0.801502",
"actual_receipt": "0.001",
"trade_no": "202603171746187e582d1b789b27ea55",
"estimated_transfer": "0"
}
}
📊 7. Запрос статуса перевода
- Описание интерфейса: Запросить статус заказа выплаты.
- Адрес интерфейса:
POST /api/payout/detail
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
| trade_no | string | Да | Номер транзакции |
Описание полей ответа
| Поле | Тип | Описание |
|---|---|---|
| trade_no | string | ID транзакции |
| service_charge | string | Плата за обслуживание |
| gas | string | Комиссия за GAS |
| token | string | Валюта |
| amount | string | Сумма |
| target_address | string | Адрес получателя |
| start_time | int | Время начала |
| created_time | int | Время создания |
| status | string | Статус транзакции (CONFIRMING-PROGRESS: Подтверждается, PAID: Успех, FAIL: Ошибка, CANCEL: Отменено, PROGRESS: В ожидании) |
Пример успешного ответа
{
"code": 0,
"msg": "success",
"data": {
"service_charge": "0.000002",
"gas": "0.8015",
"amount": "0.001",
"status": "TRANSFER",
"target_address": "TDYiTL3pke3T9BsoTotbKb922WsXQCmSxv",
"start_time": 1773740882,
"created_time": 1773740882,
"trade_no": "202603171748020a09cbb09b4846bc99",
"token": "DK7bKg181cC7pBgX3PxSIH2WdklZ5IPT"
}
}
💰 8. Проверка баланса
Получите информацию о балансе одной валюты для приложения через этот API.
- Адрес интерфейса:
POST /api/account/balance
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
| currency_id | int | Да | Глобальный уникальный ID валюты |
Описание полей ответа
| Поле | Тип | Описание |
|---|---|---|
| currency_id | int | Глобальный уникальный ID валюты |
| balance | string | Оставшееся количество |
| balance_usdt | string | Стоимость оставшегося количества, конвертированная в USDT |
| operable_balance | string | Рабочее количество (Если сумма основной валюты на адресе кошелька слишком мала для сбора, этот адрес кошелька нельзя использовать. См. личный центр => сетевые настройки для определения минимального рабочего порога.) |
| operable_balance_usdt | string | Стоимость рабочего количества |
| chain | string | Название сети |
| network | string | Сеть |
| token | string | Токен |
| contract | string | Адрес контракта (основной токен в качестве сокращенного имени токена) |
Пример успешного ответа
{
"code": 0,
"msg": "success",
"data": {
"currency_id": 46,
"balance": "0.785074013",
"operable_balance": "0.785074013",
"operable_balance_usdt": "0.043642",
"balance_usdt": "0.043642",
"chain": "Tron",
"network": "Nile",
"token": "JST",
"contract": "TF17BgPaZYbz8oxbjhriubPDsA7ArKoLX3"
}
}
🖼️ 9. Статический QR-код оплаты
- Описание интерфейса: Подайте заявку на независимый статический адрес платежа через API. Он перезвонит на адрес интерфейса CallBack соответствующего APPID.
- Адрес интерфейса:
POST /api/payment-qr-code/create
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
| name | string | Да | Название QR-кода |
| currency_id | int | Да | Глобальный уникальный ID валюты |
| amount | string | Нет | Сумма платежа по умолчанию (может быть "0") |
Описание полей ответа
| Поле | Тип | Описание | Пример |
|---|---|---|---|
| id | int | Уникальный ID QR-кода | 115 |
| address | string | Статический адрес оплаты | "TXd8UKLtLqk5V15v7e3W43ZdNw6berp6DP" |
Пример успешного ответа
{
"code": 0,
"msg": "success",
"data": {
"id": 115,
"address": "TXd8UKLtLqk5V15v7e3W43ZdNw5berp6DP"
}
}
💡
Для этого требуется APPID приложения QR-кода, чтобы сделать запрос к этому API.