Документация
API PayBot v2
REST API поверх Kaspi Pay: QR, счета, возвраты, платёжные ссылки и webhooks. Деньги идут напрямую на ваш Kaspi Business — PayBot их не хранит и не проводит.
- Базовый URL
- https://api.paybot.kz
- Формат
- JSON в запросе и ответе. Суммы — целые тенге, без копеек.
- Время
- ISO-8601, всегда UTC. В интерфейсе — дд.мм.гггг.
- Авторизация
- Заголовок
X-API-Key. Эндпоинты/me/*принимают также JWT кабинета. - Лимит запросов
- 20 запросов в минуту на ключ. Не действует для Enterprise и для Sandbox-ключа.
- Версии
- v2 — стабильная. v1 объявлен устаревшим: заголовок
Sunset: 31.12.2026. Новые интеграции — только на v2.
Ключ есть, а платежи не идут?
Боевой ключ работает только при живой сессии Kaspi. Пока Kaspi не подключён, API отвечает 503 session_expired — а Sandbox-ключ работает сразу и без Kaspi.
Что делает API
ПлатежиQR и счёт (push на телефон плательщика), статусы, возвраты, журнал платежей.
Платёжные ссылкиСсылка
paybot.kz/checkout/pl_… со страницей оплаты под вашим брендом.УведомленияWebhooks с подписью HMAC-SHA256 и журналом доставок — оплата на вашем сервере за 3–5 секунд.
Чего API не делаетНе хранит и не переводит ваши деньги, не заводит счёт внутри PayBot и не отдаёт полный ключ повторно.
Первый запрос
Создать QR на 5 000 ₸ — один POST. Всё остальное в этой документации — детали этого запроса.
POST /v2/qr · cURL
curl -X POST https://api.paybot.kz/v2/qr \
-H "X-API-Key: kp_live_9f3c1a7b2d8e4f60" \
-H "Idempotency-Key: a7f0c1e2-5b64-4d19-9c3a-2e8f61b0d4aa" \
-H "Content-Type: application/json" \
-d '{
"amount": 5000,
"comment": "Заказ №1024"
}'Ответ
{
"operation_id": "1450012399",
"qr_token": "3010100100AC0000QRTOKEN",
"deep_link": "https://qr.kaspi.kz/pay/9f3c1a7b",
"expires_at": "2026-07-16T09:37:30Z",
"status": "created"
}200 OK