# Можно ли подключить Kaspi Pay по API самому — открытый kaspi-pos-automation

> Да. Команда Tapter выложила открытый Node.js-сервер kaspi-pos-automation под лицензией MIT: вход кассира по SMS, счета на номер, QR, возвраты и вебхуки с подписью. Его можно бесплатно развернуть на своём сервере. Цена — инфраструктура и поддержка: сервер, сохранность сессий, слежение за изменениями на стороне Kaspi, мониторинг. Aitole сам построен на форке этого проекта и берёт эту работу на себя.

Источник: https://aitole.kz/kaspi-open-source/ · Aitole — https://aitole.kz

## Что это

[kaspi-pos-automation](https://github.com/tapter-dev/kaspi-pos-automation) — Express-сервер на Node.js от команды [Tapter](https://tapter.one/kaspi.pos.automation). Он подключается к вашему Kaspi Pay так же, как сервисы автоматизации: через сотрудника с ролью «Кассир» и код из SMS. Код открыт под лицензией MIT — пользоваться, менять и встраивать в свои продукты можно свободно.

Что умеет:

- вход кассира по номеру телефона и SMS;
- счёт клиенту по номеру телефона;
- QR для оплаты и отслеживание статуса;
- «Единый QR» — оплата из приложений других банков;
- история операций, статистика и возвраты;
- вебхуки с подписью HMAC-SHA256 и повторами.

## Как запустить

1. Нужен Node.js 20.6 или новее.
2. Склонируйте репозиторий и установите зависимости: `npm install`.
3. Создайте `.env` с ключом `TOKEN_SECRET_KEY` — 64 hex-символа, им шифруются данные сессии.
4. Запустите `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 наш сервис появился бы намного позже. Наши правки — сохранение сессий на диске, логи без секретов, обновление сборки — лежат в открытом [форке](https://github.com/saygon91/kaspi-pos-automation).

## Вопросы

### Это официальное API Kaspi?

Нет. kaspi-pos-automation, как и сервисы автоматизации, работает поверх Kaspi Pay через роль «Кассир» — это не официальная интеграция и не продукт Kaspi. Официальный путь — партнёрство «Платежи на Kaspi.kz» по заявке.

### Это бесплатно?

Код — да, лицензия MIT. Платить придётся за сервер и за время того, кто его поддерживает.

### Нужен ли программист?

Да. Нужно развернуть сервер, настроить HTTPS и доступ, сделать интерфейс для сотрудников и следить за обновлениями. Без программиста проще взять сервис.

### Чем Aitole отличается от kaspi-pos-automation?

Внутри у Aitole — тот же движок подключения к Kaspi. Сверху — инфраструктура и продукт: кабинет, ссылки на оплату для Instagram, Telegram-бот, регулярные счета, тревоги о падении сессии, песочница, несколько касс и поддержка.

### Как следить за изменениями на стороне Kaspi, если развернул сам?

Подпишитесь на обновления [репозитория](https://github.com/tapter-dev/kaspi-pos-automation) на GitHub и поставьте мониторинг на вход кассира: если Kaspi снова поднимет требования к приложению, поломка проявится именно там.
