Тарифы, лимиты, упрощённый KYC
Планы (apps/api/src/services/tariffs.js → PLANS)
| tier | Название | Цена | Месячный лимит | Дневной порог | Примечание |
|---|---|---|---|---|---|
| trial | Пробный | 0 | — | 50/день | 7 дней; срок начинается не при регистрации, а с первого live-счёта |
| start | Старт | 4 990 ₸/мес | 800 | 200 | |
| business | Бизнес | 14 900 ₸/мес | 4 000 | 1 500 | |
| pro | Про | 39 900 ₸/мес | 15 000 | 5 000 | |
| partner | Партнёр | 79 900 ₸/мес | 30 000 | 2 000 | Partner API; тариф включает платформа, дальше партнёр оплачивает сам из кабинета (страница «Партнёрство») |
| founder | Основатель | — | без лимита | внутренний (qut.kz, первые партнёры) |
Пробный период не начинается в момент регистрации: поле tariff.expiresAt организации остаётся пустым, а при создании первого live-счёта (activateTrialIfNeeded) с этого момента отсчитываются 7 дней. Sandbox-счета период не запускают. Мерчанту, который спустя два дня после регистрации так и не начал, один раз уходит напоминание (runTrialNudges); на странице Платформа он отображается как «пробный период не начат».
Основной лимит — месячный, он обнуляется в начале календарного месяца (по времени Алматы). Один напряжённый день не останавливает работу: для бизнеса с сезонным пиком это важно.
Дневной порог — отдельная вещь, это не бизнес-лимит, а защита от интеграции, ушедшей в бесконечный цикл. Он задан в несколько раз выше среднего по месяцу и при нормальной работе не срабатывает.
Лимит проверяется только в live-режиме (assertTariffAllows): если срок истёк — 403 tariff_inactive, если месячный лимит исчерпан — 429 tariff_limit_reached, если достигнут дневной порог — 429 tariff_daily_burst. Sandbox не ограничивается.
При превышении 80 процентов месячного лимита мерчанту один раз уходит предупреждение в Telegram, а на странице Тариф в кабинете показывается полоса заполнения. При продлении тарифа предупреждение включается снова.
В ранее купленных тарифах сохранён только дневной лимит. Для них месячный лимит считается как dailyLimit × 30, поэтому ничьи условия не ухудшаются.
Покупка тарифа
Кабинет → Тариф → выбрать план и число месяцев → «Оплатить». Платформа создаёт счёт в организации PLATFORM_ORG_ID (qut.kz) (created_via = tariff, metadata.qutpay = 'tariff'), мерчант оплачивает его через Kaspi. Когда счёт становится paid, onInvoicePaid подключает тариф:
- если тот же tier ещё активен — срок добавляется к текущему; другой tier — начинается с текущего момента;
- запись
tariff_ordersстановитсяpaid,audit_log→tariff.paid, мерчанту уходит уведомление в Telegram.
Администратор (Платформа → Организации → «Тариф») может вручную задать любой tier и число дней (PATCH /panel/platform/orgs/:id/tariff).
Упрощённый KYC
Кабинет → Настройки → Юридические данные: юридическое название, БИН/ИИН (12 цифр), контакты, сайт, вид деятельности. Если всё заполнено — kyc_status = submitted; администратор ставит approved / needs_changes (с примечанием). Пока это не препятствует переходу в live-режим (как и у конкурентов), но юридическое название указывается в чеке и оферте.
Нужна помощь? WhatsApp +77788813333 · kazprose@gmail.com · 09:00–21:00 (Алматы)
Можно написать и из кабинета: Поддержка.
Qut Pay — независимый сервис, не аффилирован с АО «Kaspi Bank». Kaspi и Kaspi Pay — товарные знаки правообладателя.