Rate Limits

Лимиты запросов и таймауты — защита от перегрузки Kaspi API

Лимиты по тарифам

ТарифПлатежей/месЗапросов/минKaspi аккаунтов
Пробный30201
Starter200201
Professional1 500201
Enterpriseбезлимитиндивидуальнобезлимит
Лимит 20 запросов в минуту — это защита Kaspi API от перегрузки. При превышении вернётся HTTP 429.

Таймауты операций

ОперацияСрок действияРекомендация
QR-код180 секунд от KaspiПоказывайте клиенту таймер 120 сек
Выставление счёта24 часаЕсли не оплатят — автоматическая отмена
ВозвратмгновенноВозврат только по своим операциям

Заголовки Rate Limit

Каждый ответ содержит заголовки:

code
X-RateLimit-Limit: 20
X-RateLimit-Remaining: 15
X-RateLimit-Reset: 1712045460
  • Limit — максимум запросов в минуту
  • Remaining — осталось запросов
  • Reset — Unix timestamp сброса окна

При превышении (HTTP 429)

json
Скачать
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Rate limit 20/min exceeded"
  }
}

Best practices

  • Polling статуса — не чаще 1 раза в 5 секунд для QR, 1 раз в 10 секунд для счетов
  • Webhooks — используйте вместо polling где возможно, мгновенные уведомления
  • Idempotency-Key — всегда отправляйте для POST запросов, защита от дублей
  • Exponential backoff — при 429 ждите 5с → 10с → 20с перед повтором
  • Кэширование — кэшируйте ответы /v1/status на 60 секунд
  • Не создавайте QR заранее — QR живёт только 180 секунд, создавайте по клику клиента