Qut Pay Сайт Кабинет База знаний Инструкции Документация API ҚАЗРУС
ГлавнаяБаза знаний → Справочник

Тарифы и лимиты — полный справочник

Обновлено: 2026-09-14 · Версия в Markdown

Коротко

В Qut Pay действуют три разных ограничения, и их важно не путать:

  1. Месячный лимит счетов — сколько счетов разрешает ваш тариф. Закончился — приходит tariff_limit_reached (HTTP 429).
  2. Суточная защита — это не бизнес-лимит, а страховка от интеграции, ушедшей в цикл. Превышена — приходит tariff_daily_burst (HTTP 429).
  3. Частота запросов — сколько HTTP-запросов в секунду вы можете отправлять. Превышена — rate_limited или request_rate_limited.

Процент с оборота не взимается: оплата сервиса — месячная подписка. Деньги приходят напрямую на ваш счёт в Kaspi.

Таблица тарифов

ТарифЦена в месяцСчетов в месяцСуточная защита
Пробный0 ₸50
Бастау4 990 ₸800200
Бизнес14 900 ₸4 0001 500
Про39 900 ₸15 0005 000
ПартнёрскийПо договорённостибез лимита

Тариф меняется в разделе Тариф в кабинете: https://qut.kz/app

Как считается месячный лимит

ВопросОтвет
Какой периодКалендарный месяц: с 1-го по последнее число
Часовой поясВремя Алматы
Что считаетсяСчета, созданные в боевом режиме
Что не считаетсяСчета песочницы (созданные ключом qp_test_…)
Когда обнуляетсяВ первый день нового месяца

Месячный лимит — это количество созданных счетов, а не оплаченных. Неоплаченный, истёкший или отменённый счёт тоже попадает в счётчик. Поэтому если код выставляет несколько счетов на один заказ, лимит закончится быстрее ожидаемого — включите идемпотентность.

При достижении лимита останавливается только создание новых счетов. Уже созданные продолжают работать: покупатель платит, вебхук приходит, возврат и чтение статуса тоже работают.

Суточная защита

Суточное число — не бизнес-лимит. Оно защищает от цикла в коде, от бесконечных повторов при обработке ошибок и от сломанной интеграции. Нормально работающий магазин до него не доходит: при месячном лимите 800 на тарифе Бастау суточные 200 — это 6 000 в месяц, то есть порог стоит намного выше реальных продаж.

Если вы видите tariff_daily_burst, проверяйте в первую очередь свой код, а не тариф: где-то повторяется цикл, где-то бесконечный retry в обработке ошибок, или на один заказ создаётся несколько счетов.

Разница между двумя ошибками

tariff_limit_reachedtariff_daily_burst
HTTP429429
ЗначениеЗакончился месячный лимитСлишком много счетов за сутки
ПричинаБизнес вырос или создаются лишние счетаОбычно цикл в коде
РешениеПовысить тариф или дождаться нового месяцаПочинить код
Когда пройдётВ начале нового месяцаНа следующие сутки
Поможет ли смена тарифаДа, сразуКосвенно: на старшем тарифе суточное число выше

Есть и третья ошибка: tariff_inactive (HTTP 403) — тариф не оплачен или закончился пробный период. Это не лимит, а неактивная подписка.

Пробный период

ЧтоЗначение
Длительность7 дней
Счетов в сутки50
Когда начинаетсяС первого боевого (live) счёта
Важна ли дата регистрацииНет
Запускает ли пробный период песочницаНет

Значит, интеграцию можно писать в песочнице сколько угодно долго — семь дней начинают идти только тогда, когда вы принимаете первую настоящую оплату. Подробнее: Пробный период.

Песочница в лимит не входит

Песочница — режим с ключом qp_test_…. Запросы не уходят в Kaspi, настоящие деньги не движутся, оплату вы симулируете сами. Поэтому:

Разница режимов: Песочница и боевой режим.

Ограничения частоты запросов

Это не количество счетов, а количество HTTP-запросов. Точные значения меняются в зависимости от нагрузки, поэтому пишите код не по фиксированному числу, а по признакам в ответе.

КодHTTPЧто делать
rate_limited429Подождать время из заголовка Retry-After и повторить
request_rate_limited429Снизить частоту, уменьшить число параллельных потоков
too_many_attempts429Слишком частый повтор одного действия, подождите минуту

Правильная тактика — растущая пауза (backoff): 1, 2, 4, 8 секунд, с добавлением случайных сотен миллисекунд на каждом шаге. Повтор с постоянным интервалом только продлевает ограничение.

async function withRetry(fn, tries = 5) {
  for (let i = 0; i < tries; i++) {
    const res = await fn();
    if (res.status !== 429) return res;
    const wait = Number(res.headers.get('Retry-After')) || 2 ** i;
    await new Promise((r) => setTimeout(r, wait * 1000 + Math.random() * 300));
  }
  throw new Error('rate limited');
}

Подробнее: Ограничения частоты запросов.

Что делать при приближении к лимиту

  1. Посмотрите текущее число за месяц в разделе Тариф в кабинете.
  2. Проверьте, нормальное ли это число: совпадает ли количество продаж с количеством счетов? Если разрыв большой — есть дубли.
  3. Есть дубли — включите идемпотентность, это заодно экономит лимит.
  4. Дублей нет, бизнес действительно вырос — повышайте тариф.
  5. Если объём выше 15 000 счетов в месяц, напишите в поддержку о партнёрском тарифе: WhatsApp +7 778 881 3333, Telegram @qutpaybot.

Вопросы и ответы

Если повысить тариф в середине месяца, лимит вырастет сразу? Да, месячный лимит и суточное число нового тарифа применяются с этого момента.

Неоплаченные счета входят в лимит? Да. Лимит считается по созданным счетам, а не по оплаченным.

У меня несколько организаций — лимиты складываются? Нет. У каждой организации свой тариф и свой лимит, они не переносятся между организациями.

Что происходит с уже созданными счетами при достижении лимита? Ничего. Покупатель платит, вебхук приходит, возврат работает. Не создаются только новые счета.

Можно ли отключить суточную защиту? Нет. Это ограничение защищает и вас, и ваших покупателей, если интеграция уйдёт в цикл.

Связанные статьи

Достигнут лимит — что делатьtariff_limit_reached и tariff_daily_burst — это разные вещи. Первое про месячный лимит тарифа, второе про защиту от зацикленной интеграции. Как различить и что делать с каждым.Какой тариф выбратьТариф выбирается по количеству счетов в месяц, а не по обороту. Таблица трёх тарифов, как посчитать своё число и почему суточное число — это не ограничение бизнеса, а защита.Пробный период: сколько длится и что входитПробный период — 7 дней и до 50 счетов в сутки. Главное: он стартует не с даты регистрации, а с первого боевого счёта. Значит, готовиться можно спокойно.Ограничения частоты запросовСколько запросов в минуту выдерживает один API-ключ, чем три вида ответа 429 отличаются друг от друга, как читать заголовок Retry-After и как правильно написать экспоненциальный бэкофф в коде.Каталог ошибок — что возвращает API и что делатьВсе основные коды ошибок Qut Pay API по группам: авторизация, привязка Kaspi, счета, возвраты, лимиты тарифа, вебхуки, подписки. Причина и решение для каждой.

Остались вопросы? WhatsApp +77788813333 · kazprose@gmail.com
Написать можно и из кабинета: Поддержка.

Qut Pay — независимый сервис, не аффилирован с АО «Kaspi Bank». Kaspi и Kaspi Pay — товарные знаки их правообладателя.