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.
Как настроить
- Добавьте webhook URL в личном кабинете (
/dashboard/webhooks) - Выберите события для подписки
- Получите секретный ключ для верификации
Верификация подписи
Каждый 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