Kaspi Pay webhooks уведомления о платежах HMAC подпись API интеграция

Kaspi Pay Webhooks — уведомления о платежах в реальном времени

Как настроить webhook-уведомления для Kaspi Pay API. HMAC-SHA256 подпись, retry-политика, примеры кода на Python и JavaScript.

Pay Bot 25 марта 2026 г.

Что такое Webhooks?

Webhook — это HTTP-запрос, который Pay Bot отправляет на ваш сервер когда происходит событие: платёж оплачен, истёк, или произошла ошибка. Это позволяет реагировать мгновенно, без постоянного опроса API.

Как настроить

  1. Добавьте webhook URL в личном кабинете (/dashboard/webhooks)
  2. Выберите события для подписки
  3. Получите секретный ключ для верификации

Верификация подписи

Каждый webhook подписан HMAC-SHA256. Проверяйте подпись чтобы убедиться что запрос пришёл от Pay Bot:

import hmac
import hashlib

def verify_webhook(payload: bytes, signature: str, secret: str) -> bool:
    expected = hmac.new(
        secret.encode(),
        payload,
        hashlib.sha256
    ).hexdigest()
    return hmac.compare_digest(f"sha256={expected}", signature)

Структура payload

{
  "event": "payment.completed",
  "operation_id": "op_abc123",
  "amount": 5000,
  "status": "paid",
  "paid_at": "2026-03-25T14:30:00Z"
}

Retry политика

Если ваш сервер не ответил 200 OK, Pay Bot повторит запрос:

  • 1-я попытка: через 30 секунд
  • 2-я попытка: через 5 минут
  • 3-я попытка: через 30 минут
  • Максимум: 5 попыток

Best Practices

  • Отвечайте 200 быстро, обрабатывайте асинхронно
  • Всегда проверяйте HMAC подпись
  • Используйте idempotency key для дедупликации
  • Логируйте все входящие webhooks