Что это
kaspi-pos-automation — Express-сервер на Node.js от команды Tapter. Он подключается к вашему Kaspi Pay так же, как сервисы автоматизации: через сотрудника с ролью «Кассир» и код из SMS. Код открыт под лицензией MIT — пользоваться, менять и встраивать в свои продукты можно свободно.
Что умеет:
- вход кассира по номеру телефона и SMS;
- счёт клиенту по номеру телефона;
- QR для оплаты и отслеживание статуса;
- «Единый QR» — оплата из приложений других банков;
- история операций, статистика и возвраты;
- вебхуки с подписью HMAC-SHA256 и повторами.
Как запустить
- Нужен Node.js 20.6 или новее.
- Склонируйте репозиторий и установите зависимости:
npm install. - Создайте
.envс ключомTOKEN_SECRET_KEY— 64 hex-символа, им шифруются данные сессии. - Запустите
npm start— демо-интерфейс откроется наlocalhost:3000.
Сами авторы предупреждают: демо-интерфейс — для проверки API, для боевой кассы нужен свой фронтенд.
Что придётся поддерживать самим
Запустить — полдела. Вот с чем мы столкнулись, когда построили на этом коде свой сервис:
- Сервер 24/7. Постоянно работающая машина с HTTPS, закрытым доступом к API и бэкапами. Если сервер лёг — платежи не выставляются.
- Сохранность сессий. Подключённая касса — это сессия, сохранённая на сервере. У нас первое время любой редеплой «разлогинивал» все кассы, пока состояние не вынесли на постоянный диск.
- Изменения на стороне Kaspi. В сентябре 2026 Kaspi перестал пускать старые сборки приложения — вход кассира начал падать с «Обновите приложение, чтобы войти». В основном репозитории это исправили 28 сентября; кто не следил за обновлениями, неделями не мог подключить кассы. Теперь Aitole распознаёт этот ответ Kaspi: клиент видит понятное сообщение, а нам в ту же минуту приходит тревога — обновление не ждёт жалобы.
- Вытеснение сессии. У Kaspi одна сессия на номер: стоит кассиру войти в приложение Kaspi Pay — приём встаёт. Нужны мониторинг и тревоги, иначе об этом узнаешь по тишине в кассе.
- Секреты в логах. Ключи сессии Kaspi не должны попадать в логи и бэкапы в открытом виде.
- Всё вокруг API. Кабинет для сотрудников, ссылки на оплату для клиентов, регулярные счета, уведомления, сверка, несколько касс — это уже отдельная разработка.
Своё решение или сервис
| Свой сервер на kaspi-pos-automation | Сервис поверх Kaspi Pay | |
|---|---|---|
| Деньги | Бесплатный код, платите за сервер и время разработчика | Подписка; у Aitole 20 оплат в месяц бесплатно |
| Контроль | Полный: код, данные и серверы ваши | Данные у сервиса, код закрыт или частично открыт |
| Поддержка | Ваша команда | Сервис: обновления под Kaspi, мониторинг, тревоги |
| Время до первого платежа | От дня до недели у разработчика | Минуты |
| Для кого | Команды с разработчиком и своей инфраструктурой | Бизнес без разработчика или тот, кто не хочет держать сервер |
Если у вас есть разработчик и вам важно, чтобы всё было своё, — берите kaspi-pos-automation. Если нужен результат сегодня и без поддержки сервера — сервис.
Спасибо Tapter
Aitole использует форк kaspi-pos-automation как коннектор к Kaspi. Без открытого кода Tapter наш сервис появился бы намного позже. Наши правки — сохранение сессий на диске, логи без секретов, обновление сборки — лежат в открытом форке.