> Источник: https://apipay.kz/guides/limit-schetov-po-tarifu · Обновлено: 2026-08-10 · apipay.kz
> ApiPay — независимый сервис приёма платежей поверх вашего Kaspi Pay.

# Лимит счетов по тарифу: когда включается ограничение

**TL;DR.** У каждого тарифа есть дневной лимит счетов, созданных **через API**: Старт — 30, Бизнес — 100, Про — 300, Про Макс — 600. Счета, выставленные вручную в кабинете, и тестовые счета в песочнице в лимит не входят. **Разовое превышение работу не блокирует.** Ограничение включается при систематическом превышении дневного лимита: тогда счета сверх лимита в течение суток не создаются, а API возвращает `429 tariff_limit_reached`. На следующие сутки счётчик обнуляется. Полностью ограничение снимается переходом на следующий тариф, сразу после оплаты. Текущий расход виден в кабинете на главной и в `GET /users/me` → `daily_usage` (метод живёт по `/api/`, а не по `/api/v1/`).

## Сколько счетов можно выставлять

| Тариф | Счетов в сутки |
|---|---|
| Старт | 30 |
| Бизнес | 100 |
| Про | 300 |
| Про Макс | 600 |
| Больше 600 | договорные условия — напишите нам |

Если условия вашей организации согласованы отдельно, действует ваш лимит — он показан в кабинете, в разделе «Мой тариф».

Лимит считается по **созданным** счетам, а не по оплаченным: каждый счёт, который ваша система выставила через API — по номеру телефона или QR-счёт, — занимает единицу дневного лимита, даже если покупатель его не оплатил. Считается он на организацию: несколько API-ключей общий лимит не увеличивают. Цены тарифов — в статье [Тарифы и комиссия](/guides/tarify-i-komissiya-apipay).

**В лимит не входят:**

- счета, выставленные вручную в личном кабинете, и печатный лист, созданный из кабинета — у них нет API-ключа;
- тестовые счета в песочнице — у неё отдельный лимит, 1000 счетов на организацию;
- счета, подтянутые синхронизацией из приложения Kaspi Pay.

Расчётные сутки — по времени Казахстана (Asia/Almaty), а не по UTC: счётчик обнуляется в полночь по вашему времени.

## Что будет, если превысить

**Разовое превышение не блокирует работу** — превысить лимит в отдельный день можно, создание счетов не останавливается.

Ограничение включается при систематическом превышении дневного лимита. После этого дневной лимит начинает применяться по-настоящему: счета сверх него в течение суток не создаются, а API возвращает ошибку `tariff_limit_reached`.

На следующие сутки счётчик обнуляется, и дневной лимит тарифа снова доступен. Кабинет, отчёты, возвраты, чеки и каталог работают всё это время.

⚠️ Пока ограничение действует, **автосписания по подпискам, созданным через API, пропускают цикл**: счёт за период не выставляется, но дата следующего списания не сдвигается и счётчик неудачных попыток не растёт. После снятия ограничения подписки догоняют пропущенные периоды — по одному за прогон.

## Как снять ограничение

- **Перейти на следующий тариф.** Ограничение снимается сразу после оплаты, отсчёт начинается заново.
- **Написать в поддержку.** Если считаете, что ограничение включилось по ошибке, напишите нам — разберёмся и снимем, если это так.
- **Вы уже на «Про».** Следующая ступень — **Про Макс**, до 600 счетов в сутки. Объёмы больше 600 счетов в сутки — договорные условия, напишите нам.

## Помесячный подсчёт для неравномерных продаж

Если ваши продажи идут волнами — распродажи, сезон, «все платят 1-го числа», — организацию можно перевести на **помесячный подсчёт**. Вместо суточного лимита даётся бюджет на 30 дней, равный `дневной лимит × 30`:

| Тариф | Бюджет на 30 дней |
|---|---|
| Старт | 900 счетов |
| Бизнес | 3000 счетов |
| Про | 9000 счетов |
| Про Макс | 18 000 счетов |

Распределять бюджет внутри периода можно как угодно — хоть израсходовать всё за неделю. Бюджет обновляется каждые 30 дней. Перевод — по запросу в поддержку.

⚠️ В этом режиме правило «разовое превышение не блокирует» не действует: бюджет блока — сам себе потолок. Как только он израсходован, счета до конца 30-дневного блока не создаются. Момент обновления бюджета приходит в `meta.reset_at`.

В этом режиме ответ `429 tariff_limit_reached` приходит с `meta.mode: "monthly"`, а `meta.limit` содержит бюджет периода, а не суточный лимит.

## Где посмотреть текущий расход

**В кабинете** — на главной странице: сколько счетов израсходовано из лимита, сколько осталось и когда обнулится счётчик.

**Через API** — `GET https://api.apipay.kz/api/users/me`, блок `daily_usage`. Обратите внимание: этот метод живёт по `/api/`, а не по `/api/v1/`:

```json
{
  "daily_usage": {
    "count": 12,
    "limit": 30,
    "status": "green",
    "mode": "daily",
    "period_limit": 30,
    "period_used": 12,
    "period_start": "2026-08-01T19:00:00+00:00",
    "period_reset_at": "2026-08-02T18:59:59+00:00",
    "hard_limited": false
  }
}
```

- `mode` — `daily` либо `monthly`. Показывайте пользователю `period_used` из `period_limit`: в помесячном режиме суточные `count`/`limit` не отвечают на вопрос «сколько осталось».
- `period_reset_at` — момент обнуления счётчика.
- `hard_limited` — ограничение включено, счета сверх `period_limit` отклоняются.

## Если вы получили ошибку `tariff_limit_reached`

```json
{
  "error": "tariff_limit_reached",
  "error_code": "tariff_limit_reached",
  "message": "Достигнут лимит счетов по вашему тарифу.",
  "retry_after_seconds": 40512,
  "meta": {
    "mode": "daily",
    "limit": 30,
    "used": 30,
    "reset_at": "2026-08-02T18:59:59+00:00"
  }
}
```

Что с этим делать:

1. **Не повторяйте запрос раньше `meta.reset_at`** — до обнуления счётчика ответ не изменится. Заголовок `Retry-After` содержит число секунд до этого момента.
2. **Стройте обработку по `error_code`**, а не по тексту `message`: текст может меняться, код стабилен.
3. **Различайте окна по `meta.mode`.** `daily` — расчётные сутки, `reset_at` наступит сегодня-завтра; `monthly` — 30-дневный блок, до сброса может быть несколько недель.
4. **В `POST /invoices/bulk`** отказ приходит поэлементно и несёт только `error_code` и `message` — без `Retry-After` и `meta`, как и остальные лимиты в этом методе.
5. **Быстрое решение** — перейти на следующий тариф: ограничение снимается сразу после оплаты. Если вы уже на «Про Макс», объём согласуется индивидуально — напишите нам.

Не путайте с соседними кодами: `trial_daily_limit` — жёсткий лимит 50 счетов/день на [тестовом периоде](/guides/testovyy-period); `kyc_daily_limit_reached` — 1 счёт/сутки, пока не одобрена [анкета о бизнесе](/guides/anketa-o-biznese-i-limit). Полный перечень — в [справочнике лимитов](/guides/limity-i-kvoty-apipay).

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

**Что будет, если я один раз превышу лимит?**
Ничего. Разовое превышение работу не блокирует. Ограничение включается, когда лимит превышается систематически: тогда счета сверх дневного лимита в течение суток не создаются, а API возвращает `429 tariff_limit_reached`. На следующие сутки счётчик обнуляется.

**Как снять ограничение?**
Перейти на следующий тариф — ограничение снимается сразу после оплаты. Либо написать в поддержку, если считаете, что оно включилось по ошибке.

**Влияет ли ограничение на подписки?**
Да — но только по подпискам, созданным через API. Пока ограничение действует, автосписания по ним пропускают цикл: счёт не выставляется, но дата следующего списания не сдвигается. После снятия подписки догоняют пропущенные периоды.

---

ApiPay — независимый сервис и не аффилирован с АО «Kaspi Bank». Kaspi и Kaspi Pay — товарные знаки их правообладателя.
База знаний: https://apipay.kz/guides
