ДокументацияВведение
Коды ошибок

Начало работы

Быстрый старт

От регистрации до первого платежа за 5 минут

Чтобы принять первый платёж через PayBot, выполните пять шагов: зарегистрируйтесь, получите API-ключ, подключите свой Kaspi Business, создайте QR или счёт одним POST-запросом к https://api.paybot.kz/v2/qr и получите webhook payment.completed, когда клиент оплатит. Договор эквайринга не нужен — деньги идут напрямую на ваш счёт в Kaspi, PayBot выступает программным шлюзом к Kaspi Pay.

Всё, что нужно для старта, — аккаунт Kaspi Business. Первый тестовый платёж можно провести вообще без денег в тестовом режиме.

Шаг 1. Регистрация и API-ключ

Зарегистрируйтесь на paybot.kz через Google или Telegram. Сразу после входа в кабинете в разделе Настройки → API-ключи доступен ваш ключ. Ключ имеет вид kp_live_<32 hex-символа> для боевых операций и kp_test_<32 hex-символа> для тестовых.

Ключ передаётся в заголовке X-API-Key при каждом вызове платёжного API (/v1/* и /v2/*):

bash
Скачать
curl https://api.paybot.kz/v2/qr \
  -H "X-API-Key: kp_test_0123456789abcdef0123456789abcdef" \
  -H "Idempotency-Key: 8f14e45f-ceea-467a-9575-1a2b3c4d5e6f" \
  -H "Content-Type: application/json" \
  -d '{"amount": 2500, "description": "Тестовый заказ №1"}'

Подробнее о ключах, JWT и безопасности — в разделе Авторизация и ключи.

Шаг 2. Подключение Kaspi Business

PayBot принимает оплату через ваш собственный кабинет Kaspi Business. В кабинете PayBot откройте Kaspi-аккаунты и пройдите подключение: укажите номер телефона, привязанный к Kaspi Business, и подтвердите вход. После успешного подключения статус аккаунта станет активным, и вы сможете создавать платежи.

Если у вас несколько кабинетов Kaspi, вы подключаете их все и выбираете нужный в каждом запросе заголовком X-Kaspi-Account: . Аккаунт по умолчанию используется, когда заголовок не передан.

Если Kaspi-сессия истекает, API временно отвечает 503 session_expired — это сигнал переподключить Kaspi в кабинете. В тестовом режиме этого не происходит.

Шаг 3. Первый платёж — QR или счёт

Есть два основных способа принять оплату напрямую через API:

  • QR-код — покупатель сканирует его в приложении Kaspi. Подходит для касс, POS, офлайн-точек.
  • Счёт (invoice) — push-уведомление на телефон покупателя в Kaspi по номеру. Подходит для онлайн-заказов и доставки.

Создание QR через POST /v2/qr:

bash
Скачать
curl https://api.paybot.kz/v2/qr \
  -H "X-API-Key: kp_live_..." \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"amount": 25000, "description": "Заказ KP-4821"}'

Пример ответа:

json
Скачать
{
  "operation_id": "op_5f8c2a1b9d",
  "status": "pending",
  "amount": 25000,
  "qr_url": "https://pay.kaspi.kz/pay/abc123",
  "qr_image": "data:image/png;base64,iVBORw0KGgo...",
  "expires_at": "2026-07-16T12:45:00Z"
}

Тот же вызов на Python:

python
Скачать
import uuid
import requests

resp = requests.post(
    "https://api.paybot.kz/v2/qr",
    headers={
        "X-API-Key": "kp_live_...",
        "Idempotency-Key": str(uuid.uuid4()),
    },
    json={"amount": 25000, "description": "Заказ KP-4821"},
)
data = resp.json()
print(data["qr_url"], data["operation_id"])

Заголовок Idempotency-Key обязателен для создающих запросов — он защищает от двойного списания при повторной отправке. См. Идемпотентность. Полный обзор QR и счетов — в разделе QR и счета через API.

Шаг 4. Узнать, что платёж оплачен

Не опрашивайте статус в цикле без необходимости — правильный способ узнать об оплате мгновенно — webhook. Зарегистрируйте endpoint один раз:

bash
Скачать
curl https://api.paybot.kz/me/webhooks \
  -H "Authorization: Bearer &lt;jwt&gt;" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://your-site.kz/paybot/webhook", "events": ["payment.completed"]}'

Когда клиент оплатит, PayBot отправит на ваш URL подписанный POST:

json
Скачать
{
  "event": "payment.completed",
  "operation_id": "op_5f8c2a1b9d",
  "amount": 25000,
  "status": "completed",
  "paid_at": "2026-07-16T12:37:11Z"
}

Каждая доставка подписана HMAC-SHA256 — обязательно проверяйте подпись из заголовка X-Webhook-Signature перед тем, как доверять данным. Полностью процесс описан в разделе Webhooks.

Если webhook по какой-то причине не дошёл, статус всегда можно запросить напрямую: GET /v2/qr/{operation_id}.

Шаг 5. Переход в боевой режим

Пока вы разрабатываете, используйте ключ kp_test_* — платежи не двигают реальные деньги, а лимиты запросов не применяются. Когда интеграция готова, замените ключ на kp_live_* и подключите боевой Kaspi-аккаунт. Логика запросов не меняется — меняется только ключ. Подробнее — Тестовый режим (Sandbox).

Частые вопросы

Нужен ли договор эквайринга?

Нет. PayBot работает поверх вашего собственного Kaspi Business, поэтому отдельный договор эквайринга с банком не требуется. Деньги приходят напрямую на ваш счёт в Kaspi, а PayBot даёт к нему программный доступ через API.

Как быстро приходит уведомление о платеже?

Webhook о завершённом платеже обычно доставляется за 3–5 секунд после оплаты. Если ваш endpoint временно недоступен, PayBot повторяет доставку с нарастающими интервалами. См. Webhooks.

Можно ли протестировать без реальных денег?

Да. Используйте ключ kp_test_* — все платежи в тестовом режиме проходят полный жизненный цикл, но не списывают средства. Это удобно для разработки и CI. См. Тестовый режим.

Сколько стоит подключение?

Пробный тариф включает 30 платежей без привязки карты. PayBot не берёт комиссию с суммы платежа — вы платите только за тариф сервиса. Актуальные условия — на странице тарифов paybot.kz.