Платёжный API

Платёжный API и страница checkout: Click, Payme, Paynet

Один POST-запрос — готовая ссылка на оплату для клиента. После оплаты на ваш сервер приходит подписанный callback. Для Telegram-ботов и сайтов.

Базовый адрес: https://pay.tolovgo.uz/api120 запросов в минутуКомиссия 6%

01Как это работает

  • Откройте кассу. Зарегистрируйтесь и отправьте заявку. После одобрения администратором выдаётся API-ключ.
  • Создайте платёж. Отправьте сумму и callback_url на POST /create — в ответе придёт pay_url.
  • Отдайте ссылку клиенту. Клиент выбирает Click, Payme или Paynet на странице checkout и платит.
  • Примите callback. Приходит status=paid, проверяете подпись и закрываете заказ.

02Страница checkout

Страница checkout готова: делать свою форму или дизайн не нужно. Клиент открывает ссылку pay.tolovgo.uz/pay/…, выбирает платёжную систему и после оплаты видит чек.

Ссылка действует 1 час, затем переходит в статус expired. Если передать return_url, после оплаты клиент вернётся на ваш сайт или в бота.

Click, Payme и Paynet включаются и выключаются отдельно для каждой кассы. В поле providers ответа есть прямые ссылки на каждую систему — чтобы сделать свои кнопки оплаты.

03Методы API

https://pay.tolovgo.uz/api

МетодПутьНазначение
POST/createСоздание платежа, в ответе pay_url
GET/status/{order_id}Статус платежа
POST/v1/ordersСоздание платежа (v1): external_id, данные плательщика, JSON-callback
GET/v1/orders/{id}Статус платежа (v1)

04Пример кода

Создание платежа — PHP и Python. Ключ берётся на странице кассы в кабинете.

PHP

$ch = curl_init('https://pay.tolovgo.uz/api/create');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_HTTPHEADER     => ['X-Api-Key: KALIT'],
    CURLOPT_POSTFIELDS     => ['amount' => 25000, 'callback_url' => 'https://example.uz/tolov'],
    CURLOPT_RETURNTRANSFER => true,
]);
$javob = json_decode(curl_exec($ch), true);
echo $javob['pay_url'];   // https://pay.tolovgo.uz/pay/…

Python

import requests

r = requests.post('https://pay.tolovgo.uz/api/create',
                  headers={'X-Api-Key': 'KALIT'},
                  data={'amount': 25000, 'callback_url': 'https://example.uz/tolov'})
print(r.json()['pay_url'])   # https://pay.tolovgo.uz/pay/…

05Безопасность

  • Каждый callback подписывается HMAC-SHA256 (X-Rox-Signature) с меткой времени — поддельные и старые запросы отсекаются.
  • На API-ключ можно поставить ограничение по IP. Ключ не хранится в базе в открытом виде.
  • Статусы: pending, paid, expired, cancelled, refunded. Перед закрытием заказа статус можно подтвердить через GET /status.

Полная документация: поля, подпись, коды ошибок →
Оплата в Telegram-боте →

06Вопросы

Какие платёжные системы подключены?

Click, Payme и Paynet. Все — через один API и одну страницу checkout, без отдельных договоров и интеграций с каждой системой.

Работает ли API не только в Telegram-боте?

Да. API работает через обычные HTTPS-запросы: его можно вызывать с сайта, из Telegram-бота или с бэкенда мобильного приложения.

Сколько стоит?

С каждого платежа удерживается 6% комиссии, абонентской платы нет. Вывод на карту: ручной — без комиссии, ускоренный — 1%.

Как узнать, что платёж прошёл?

На callback_url приходит подписанное уведомление. Также статус можно в любой момент запросить через GET /status/{order_id}.

Какие суммы принимаются?

Один платёж — от 1 000 до 99 999 999 сум.

Открыть кассу →