Коротко
Переход в боевой режим — четыре шага: пройти чек-лист, переключить режим в кабинете на боевой, заменить в коде ключ qp_test_… на qp_live_… и самому провести первую реальную оплату небольшой суммой. И главное, о чём забывают: пробный период в 7 дней начинается именно здесь — с первого боевого счёта, а не со дня регистрации.
Предварительный чек-лист
Проверьте эти четыре пункта до переключения. Большинство проблем после перехода — это как раз пропущенный пункт из списка.
| Что | Где проверить | Как должно быть |
|---|---|---|
| Кассир Kaspi активен | Раздел Кассиры Kaspi | Хотя бы одна карточка активна, строки «Причина» нет |
| Ключ боевой | Интеграции → API-ключи | Ключ с префиксом qp_live_, нужные права выданы |
| Адрес webhook публичный и по https | Интеграции → Webhook | Реальный домен, https://, открыт без авторизации |
| Тариф активен | Раздел Тариф | Пробный или оплаченный тариф в активном состоянии |
Подробнее по каждому:
Кассир. В песочнице кассир был не нужен, поэтому многие его так и не подключили. В боевом режиме он обязателен: Как подключить кассира Kaspi.
Ключ. Ключ qp_test_ не создаст боевой счёт, а qp_live_ не создаст счёт в песочнице. Так сделано намеренно, чтобы не списать реальные деньги случайно. Боевой ключ создаётся в разделе Интеграции и показывается целиком только один раз — скопируйте его сразу.
Webhook. В продакшене принимается только https и реальный домен: ни IP-адрес, ни временный адрес туннеля не подойдут. Адрес должен быть открыт без авторизации, а редирект на другой адрес не отслеживается. Подробнее: Настройка вебхуков.
Тариф. Организация без активного тарифа боевой счёт не создаст. Если пробный период ещё не начинался, он включится вместе с первым боевым счётом.
Переключение режима
Кабинет → Настройки → переключатель режима → Боевой. Действие доступно ролям developer и owner.
После переключения:
- Новые счета создаются с настоящим Kaspi QR, деньги идут по-настоящему
- Счета из песочницы не пропадают, остаются в списке, но вызвать для них
simulateв боевом счёте уже нельзя - Начинает считаться месячный лимит — счета песочницы в него не входили
Замена ключа
Это единственное изменение в коде. Ни URL, ни эндпоинты, ни поля не меняются — меняется только значение заголовка X-API-Key.
X-API-Key: qp_test_… → X-API-Key: qp_live_…
Правильный порядок:
- Создаёте в кабинете новый боевой ключ и выдаёте ему только нужные права
- Кладёте ключ в переменную окружения на сервере. Не вписывайте в код и не коммитьте в репозиторий
- Перезапускаете сервис
- Тестовый ключ не удаляете — он останется для тестового окружения
Ключ должен жить только на сервере: не в коде, исполняемом в браузере, не внутри мобильного приложения (APK/IPA), не в публичном репозитории. Подробнее: Безопасность интеграции.
Проверка первой реальной оплаты
Не ждите клиентов — проверьте сами. Небольшой суммой, 100–200 тенге достаточно.
- Создаёте боевой счёт из кабинета или через API
- Сканируете QR приложением Kaspi со своего телефона (не с того, где номер кассира!)
- Оплачиваете
- Проверяете:
- Счёт в кабинете перешёл в
paid - На ваш сервер пришёл вебхук
invoice.paid - Заказ у вас в системе закрылся правильно
- Деньги пришли на счёт вашего аккаунта Kaspi Pay
- Возвращаете себе деньги: на странице счёта — Возврат
После оплаты вебхук обычно приходит в течение 5 секунд. Если прошло больше минуты — где-то ошибка: Перешёл в боевой режим — не работает.
Пробный период стартует именно здесь
Это путают чаще всего, поэтому отдельным блоком.
- Пробный период — 7 дней, 50 счетов в сутки
- Он стартует с первого боевого счёта
- Ни дата регистрации, ни день подключения кассира, ни день выпуска ключа его не запускают
- Песочница пробный период не запускает. Сколько угодно дней и счетов в песочнице — на пробный период это не влияет
Отсюда правильный порядок работ: доведите интеграцию до конца в песочнице и только потом переходите в боевой. Тогда 7 дней уйдут на реальные продажи, а не на отладку кода. Подробнее: Пробный период.
Сразу после перехода
- Включите логи. Пишите создание счетов и приём вебхуков — так причина любой проблемы находится за минуту.
- Подключите Telegram-бота. Об обрыве привязки кассира узнаете сразу.
- Посмотрите суточную защиту. Это не бизнес-лимит, а страховка от зациклившейся интеграции: Тарифы и лимиты.
- Не сносите песочницу. Все последующие изменения сначала проверяются там.
Полный список: Чек-лист выхода в прод.
Вопросы и ответы
Можно вернуться из боевого режима в песочницу? Да, режим переключается в обе стороны в любой момент. Но уже начавшийся пробный период на паузу не встанет.
Будут ли счета из песочницы видны в боевом режиме? Они останутся в списке, но реальными счетами не станут и в лимит не войдут.
Меняется ли адрес webhook при переключении режима? Нет. Адреса и секреты остаются прежними.
Можно в одной организации одновременно создавать тестовые и боевые счета? Режим счёта определяется типом ключа, а новый счёт создаётся в текущем режиме организации. Если нужно вести обе ветки параллельно, тест удобнее держать в отдельной организации.
Можно проверить оплату телефоном с номером кассира? Нет, на этом телефоне Kaspi Pay открывать нельзя — привязка оборвётся. Проверяйте с другого телефона.