Коротко
Самый частый признак: счета создаются, ошибок нет, но покупателю ничего не приходит и деньги не поступают. Это почти всегда песочница. В песочнице Kaspi вообще не вызывается: счёт создаётся у нас, QR виден, но реальной оплатой он не является.
Быстрее всего проверить по префиксу ключа. qp_test_… — песочница, qp_live_… — боевой режим. Чтобы перейти, нужно переключить режим в кабинете и заменить ключ в интеграции на боевой — обязательно и то, и другое.
Симптом → причина → решение
| Симптом | Причина | Решение |
|---|---|---|
| Счёт создаётся, покупателю не приходит | Режим песочницы | Перейдите в боевой режим и смените ключ |
| Покупатель говорит «я оплатил», денег нет | Оплата тестового счёта была просимулирована | Создайте счёт боевым ключом |
| В кабинете счета есть, в Kaspi их нет | Kaspi не вызывался | Проверьте режим |
| Кабинет в боевом режиме, а счета всё равно тестовые | В интеграции остался старый ключ qp_test_ | Замените ключ |
| Счётчик лимита не растёт | Счета песочницы в лимит не входят | Это нормально, проверьте режим |
| Пробный период не начинается | Он начинается с первого боевого счёта | Создайте боевой счёт |
Как проверить
Есть три независимых признака, и лучше посмотреть все три.
1. Префикс ключа. Каким ключом реально работает интеграция? qp_test_ — песочница. Это самый надёжный признак, потому что он находится в самой интеграции.
2. Отметка в кабинете. Когда песочница включена, в кабинете видна отметка тестового режима, и в списке счетов тестовые счета тоже отличимы.
3. Есть ли привязка Kaspi. Для песочницы кассир Kaspi вообще не нужен. Если у вас нет ни одного подключённого кассира, а счета при этом создаются — это точно песочница.
Переключить нужно в двух местах
Здесь чаще всего и ошибаются: человек переключает режим в кабинете, а в интеграции оставляет старый ключ qp_test_…. В результате всё как было: счета создаются, покупателю не приходят.
| Что | Где меняется |
|---|---|
| Режим | В кабинете |
| Ключ | В настройках или переменных окружения интеграции |
Порядок перехода:
- Проверьте, подключён ли кассир Kaspi. В боевом режиме он обязателен.
- Переключите режим в кабинете на боевой.
- Создайте боевой ключ и выдайте ему нужные scope.
- Замените ключ в интеграции — в переменных на сервере, в настройках плагина, в CRM, везде.
- Перезапустите сервис, чтобы старый ключ не остался в памяти процесса.
- Проведите один настоящий счёт на минимальную сумму и оплатите его сами. Проверьте и поступление денег на счёт Kaspi, и приход вебхука.
- Удалите старые тестовые ключи, иначе их кто-нибудь вернёт обратно.
Полный чек-лист: Как перейти в боевой режим. Если после перехода не заработало: Перешёл в боевой режим — не работает.
Что будет с тестовыми счетами
| Вопрос | Ответ |
|---|---|
| Перейдут ли тестовые счета в боевой режим | Нет. Они остаются в песочнице |
| Входят ли они в лимит | Нет. Счета песочницы не влияют ни на месячный лимит, ни на суточную защиту |
| Запускают ли пробный период | Нет. Пробный начинается с первого боевого счёта |
| Двигаются ли деньги | Нет. Kaspi вообще не вызывается |
| Нужно ли их удалять | Не нужно. В боевую отчётность они не попадают |
| Приходят ли вебхуки | Да, в песочнице тоже — чтобы можно было протестировать интеграцию |
То есть сколько бы счетов вы ни создали в песочнице, вам это ничего не стоит и пробный период не расходует. Так сделано специально: чтобы интеграцию можно было тестировать свободно.
Чтобы не повторилось
- Разделите ключи по средам. В тестовой среде только
qp_test_, в продакшене толькоqp_live_. Не держите оба в одном файле. - Не записывайте ключ в код, берите его из переменных окружения.
- Проверяйте при старте. Пусть сервис при запуске читает префикс ключа и, если он не соответствует ожидаемой среде, пишет предупреждение или вовсе не стартует.
- Добавьте в мониторинг. Если за сутки не создано ни одного боевого счёта — это тоже сигнал.
Хранение и ротация ключей: API-ключи.
Вопросы и ответы
Можно ли превратить счёт из песочницы в боевой? Нет. В боевом режиме вы создаёте новый счёт.
Покупатель говорит, что оплатил тестовый счёт. Где деньги? Никуда не ушли. В песочнице Kaspi не вызывается, реальный перевод покупатель сделать не мог. Скорее всего, он имеет в виду что-то другое — сверьтесь по счёту.
Нужен ли кассир Kaspi в песочнице? Нет. Без кассира можно создавать счета, симулировать оплату и тестировать вебхуки.
Можно ли использовать боевой ключ в песочнице? Нет, это даёт ошибку или неожиданное поведение. У каждого режима свой ключ.
Можно ли вернуться обратно в песочницу? Да, режим переключается в кабинете. Но тогда в интеграции нужно вернуть и тестовый ключ.
Могут ли деньги не приходить по другой причине? Да, но редко. Когда тестовый режим исключён, остальные причины разобраны отдельно: Оплата не приходит покупателю.