Как подключить Kaspi Pay к сайту
Kaspi не выдаёт обычному магазину открытый API с ключом. Но у любого бизнес-аккаунта Kaspi Pay есть роль «Кассир»: она умеет выставлять счета, принимать оплату по QR и видеть, что счёт оплачен. Qut Pay работает именно через эту роль — вы добавляете отдельного кассира, подключаете его в кабинете, и ваш сайт получает REST API и webhook. Деньги идут напрямую на ваш счёт Kaspi Pay; платформа их не касается.
Подключение занимает около 15 минут, разработчик нужен только для последнего шага (и то не всегда: WordPress, OpenCart, Telegram-бот, формы Tilda и платёжные ссылки работают без кода).
Что нужно заранее
- Бизнес-аккаунт Kaspi Pay (ИП или ТОО) и доступ к приложению Kaspi Pay на телефоне владельца.
- Отдельная SIM-карта для кассира — не ваш личный номер. Почему — ниже.
- Для сайта или приложения — человек, который напишет один запрос на сервере. Готовые SDK: Node.js, PHP, Python.
Шаг 1. Добавьте кассира с отдельным номером
В приложении Kaspi Pay (не в веб-кабинете): Настройки → Сотрудники → Добавить сотрудника. Введите новый номер и выберите роль.
Роль должна быть только «Кассир». Kaspi предлагает пять ролей, подходит одна:
| Роль | Что умеет по Kaspi | Подходит |
|---|---|---|
| Управляющий | переводы, добавление сотрудников | нет |
| Бухгалтер | счета, аналитика, налоги | нет |
| Кассир | приём оплаты по Kaspi QR и удалённо, возвраты | да |
| Менеджер магазина / маркетинга | пока не включены в Kaspi | нет |
Если у номера несколько ролей (например, «Руководитель, Кассир» — так выглядит номер владельца), подключение не пройдёт, даже если SMS-код верный.
Шаг 2. Войдите с этого номера один раз и выйдите
Откройте Kaspi Pay на телефоне с новой SIM, войдите (Kaspi называет это активацией), затем выйдите из приложения. Место освобождается — его займёт Qut Pay.
После подключения не входите в Kaspi Pay с номера кассира: Kaspi допускает одно активное устройство на кассира, новый вход выбьет наше подключение. Приложение на том телефоне держать не нужно — достаточно, чтобы на номер приходили SMS.
Шаг 3. Зарегистрируйтесь на qut.kz
qut.kz → вход по вашему номеру через WhatsApp, Telegram или Google. Минута, документы не нужны. Здесь используется ваш личный номер, не номер кассира.
Шаг 4. Подключите кассира в кабинете
Раздел Kaspi в кабинете: название подключения → Добавить кассира → номер из шага 1 → SMS-код, который придёт на этот номер. Пароль не запрашивается никогда.
Код живёт около минуты, вся сессия подключения — около десяти. Начинайте, когда телефон кассира у вас в руках.
Шаг 5. Получите API-ключ и webhook
Раздел Интеграции: создайте ключ (qp_test_… для песочницы, qp_live_… для реальных платежей) и укажите адрес webhook — туда придёт событие invoice.paid.
Дальше со стороны сайта всё сводится к одному запросу:
POST https://api.qut.kz/api/v1/invoices
X-API-Key: qp_live_…
{ "amount": 2500, "externalOrderId": "A-1041", "description": "Заказ A-1041" }
→ { "id": "inv_…", "payUrl": "https://qut.kz/pay/…", "qr": "…" }
Покупатель оплачивает по QR или по ссылке, Kaspi зачисляет деньги на ваш счёт, Qut Pay присылает webhook с подписью HMAC-SHA256, сайт отмечает заказ оплаченным. Полное описание — в документации по интеграции, OpenAPI — на api.qut.kz/docs.
Почему нужен отдельный номер
Kaspi допускает одно активное устройство на кассира. Если дать свой номер, в момент подключения ваше приложение Kaspi Pay на телефоне выйдет из аккаунта — и будет выходить каждый раз. Отдельный номер сотрудника снимает проблему полностью: ваш телефон не трогается, Qut Pay держит только место этого сотрудника.
Три условия для номера кассира
- Настоящая SIM, принимающая SMS. Виртуальные номера и IP-телефония не подходят.
- На ИИН владельца номера нет ИП или ТОО в Kaspi Pay. Иначе Kaspi вместо SMS запросит пароль и видеоверификацию — через SMS это не пройти. Владелец должен быть совершеннолетним.
- У номера только роль «Кассир». Никаких дополнительных ролей.
Подходит номер любого человека без ИП в Kaspi Pay: супруга, родителя, партнёра. Многие покупают новую SIM — от 500 тенге, вопрос закрыт навсегда. SIM должна оставаться активной: если оператор отключит её за неиспользование, подключение остановится.
Как подключить мобильное приложение
Приложение не обращается к Qut Pay напрямую — только через ваш сервер:
Приложение → Ваш сервер → Qut Pay → Kaspi
API-ключ должен жить только на сервере. Ключ внутри APK или IPA можно извлечь и выставлять счета от вашего имени. Схема: приложение просит сервер создать счёт → сервер делает POST /invoices → получает payUrl → приложение открывает его, на телефоне сразу открывается Kaspi → после оплаты сервер получает webhook и сообщает приложению.
Если приложение продаёт цифровые товары (подписки, премиум, внутриигровую валюту), App Store и Google Play требуют собственные платёжные системы. Для физических товаров, доставки, услуг и бронирований внешняя оплата — обычная практика, Kaspi QR в этой категории.
Сначала песочница
Ключ qp_test_… работает без кассира и без реальных денег: счета, webhook, возвраты — всё как в боевом режиме. Переключайтесь на qp_live_…, когда интеграция отлажена.
Сколько стоит
7 дней бесплатно, отсчёт идёт с первого реального счёта, а не с регистрации. Дальше — от 4 990 ₸ в месяц за 800 счетов. Платформа не берёт процент с платежей; комиссию Kaspi (0,95 % за QR) банк удерживает отдельно, как и без нас. Тарифы и сравнение с другими сервисами.
Частые ошибки
Kaspi просит пароль или видеоверификацию. Самая частая. У номера есть роль кроме «Кассира», или на ИИН владельца зарегистрировано ИП/ТОО. Решение одно — другой номер.
«Этого номера нет в Kaspi Pay» или запрос ИИН. Номер не добавлен в «Сотрудники». Вернитесь к шагу 1.
SMS не приходит. SIM выключена, код истёк или Kaspi временно ограничил выдачу кодов. Включите телефон, подождите минуту, начните заново.
Вместо SMS пришла ссылка на скачивание. Это нормально — так Kaspi сообщает, что сотрудник добавлен. Скачивать ничего не нужно.
«Вход с другого устройства». Номер кассира открыт в Kaspi Pay на другом телефоне. Выйдите там и подключите заново.
Подключение оборвалось. Кто-то вошёл в Kaspi Pay с номера кассира. Переподключите в кабинете; уведомление об обрыве приходит в Telegram.
Webhook не доходит. Адрес не должен быть закрыт паролем. Для проверки подойдёт webhook.site.
Что это не
Qut Pay — независимый сервис поверх вашего собственного аккаунта Kaspi Pay. Мы не аффилированы с АО «Kaspi Bank» и ничего не обещаем от имени Kaspi. У нас есть только права роли «Кассир»: выставить счёт, увидеть его статус, оформить возврат по своему счёту. Доступа к деньгам нет — платёж зачисляется на ваш счёт Kaspi. Подключение отзывается из кабинета в любой момент.
Вопросы по шагам — раздел Поддержка в кабинете или контакты внизу страницы.