Aitole
Уведомление об оплате Kaspi

Как узнать, что клиент оплатил Kaspi, без ручной сверки

Aitole · Опубликовано

В приложении Kaspi Pay оплата видна в истории, но связать её с заказом приходится вручную, а скриншот «я оплатил» можно подделать. Автоматически это делает сервис поверх вашей кассы Kaspi Pay. Aitole проверяет статус каждые несколько секунд и, как только деньги пришли, отмечает счёт оплаченным, пишет «Оплачено» в Telegram и отправляет вебхук в ваш сайт или CRM.

✅ Оплачено 4 990 ₸
счёт на номер · Сауле К.
Маникюр 15:00 · 14:32
payment.paid → CRM

Почему ручная сверка не работает

Обычный путь выглядит так: вы отправили реквизиты или ссылку, клиент пишет «оплатил» и присылает скриншот, вы открываете Kaspi Pay и ищете платёж в истории. Пока заказов пять в день, это терпимо. Дальше начинаются проблемы:

  • Платёж не связан с заказом. В истории видны сумма и время. Если два клиента заплатили по 5 000 ₸ за десять минут, кто из них за какой заказ, приходится угадывать.
  • Скриншот ничего не доказывает. Это картинка: её можно подделать или прислать старую. Проверка по-прежнему одна: найти деньги в Kaspi Pay.
  • Сверять некому. Владелец в дороге, администратор занят клиентом, а заказ ждёт подтверждения. Клиент ждёт тоже.
  • Сайт и CRM не знают об оплате. Статус заказа меняют руками, и иногда его забывают поменять.

Как узнавать об оплате автоматически

Нужно, чтобы каждый платёж был привязан к конкретному счёту и чтобы о его оплате сообщала система, а не клиент. Для этого счёт выставляется через сервис, подключённый к вашей кассе Kaspi Pay: счёт на номер, ссылка на оплату или QR. Сервис знает, какой счёт за какой заказ, и следит за его статусом.

В Telegram: «Оплачено» через несколько секунд

Подключите бота в кабинете Aitole. Как только клиент оплатил, приходит сообщение:

  • сумма, например «Оплачено 4 990 ₸»;
  • касса и способ: счёт на номер или QR;
  • кто оплатил: имя владельца номера из Kaspi, если это счёт на номер;
  • ваш комментарий к счёту, например «Заказ №1024» или «Маникюр 15:00»;
  • время оплаты по Алматы.

Такое же сообщение приходит о возврате. Если клиент оплатил по постоянной ссылке, в сообщении видно, по какой.

В кабинете: статус у каждого счёта

У каждого счёта свой статус, и он меняется сам.

СтатусЧто это значит
Ждёт оплатыСчёт у клиента в Kaspi
ОплаченДеньги на вашем счёте Kaspi Pay
ОтменёнКлиент отклонил счёт или не подтвердил оплату; если Kaspi сообщил причину, она видна
ИстёкКлиент не оплатил вовремя

Возвраты, полные и частичные, видны в той же операции.

В сайте или CRM: вебхук payment.paid

Если счета выставляет ваша система, она узнаёт об оплате сама. Aitole отправляет на ваш адрес запрос с событием payment.paid в течение нескольких секунд после оплаты. В нём id операции, сумма и касса. Тот же id ваша система получила, когда выставляла счёт, поэтому по нему сразу находится заказ.

  • Запрос подписан HMAC-SHA256: проверьте подпись, и чужой запрос не отметит заказ оплаченным.
  • Если ваш сервер не ответил, доставка повторится через 1 минуту, 5 минут, 30 минут, 2 часа, 6 часов и 24 часа.
  • Все события лежат в журнале GET /v2/events: если вебхук потерялся, их можно дочитать.

Подробно — в статье о Kaspi Pay API и в справочнике API.

Как это работает изнутри

Aitole подключается к вашей кассе Kaspi Pay через отдельный номер сотрудника с ролью «Кассир». Эта роль выставляет счета и видит их статусы, но выводить деньги не умеет. Каждые несколько секунд сервис спрашивает у Kaspi статусы открытых счетов. Когда счёт оплачен, Aitole отмечает его, пишет в Telegram и отправляет вебхук.

Деньги идут напрямую на ваш Kaspi Pay, Aitole их не касается. Комиссию за приём Kaspi удерживает сам, по вашему договору.

Когда это не подходит

  • Клиент платит переводом на карту или по номеру телефона. Такой перевод не привязан ни к какому счёту, поэтому автоматически связать его с заказом нельзя. Чтобы оплата отмечалась сама, клиент должен платить по вашему счёту, ссылке или QR.
  • Нужна онлайн-касса и фискальный чек. Уведомление об оплате не заменяет чек. Как быть с чеком, разобрано в статье про чек при оплате Kaspi.
  • Номер кассира нужен вам самим. У Kaspi одна активная сессия на номер. Пока номер подключён к Aitole, входить под ним в приложение Kaspi Pay нельзя, иначе приём встанет до повторного входа по SMS. Поэтому нужен отдельный номер.

Вопросы

Kaspi Pay сам может прислать уведомление в Telegram или вебхук?

Нет. Kaspi Pay показывает оплаты в своём приложении, а открытого API и вебхуков для приёма платежей у него нет. Уведомления в Telegram и вебхуки дают сервисы, подключённые к кассе Kaspi Pay.

Через сколько приходит «Оплачено»?

Обычно через несколько секунд после оплаты: Aitole проверяет статусы открытых счетов каждые 5 секунд.

Что будет, если сессия Kaspi оборвётся?

Например, если кто-то войдёт под номером кассира в приложение. Тогда Aitole не сможет проверять статусы и сразу напишет об этом в Telegram и покажет в кабинете. Приём восстанавливается повторным входом по SMS. После этого Aitole снова проверит открытые счета, и оплаченные за это время отметятся.

Как понять, какой заказ оплачен?

Укажите номер заказа в комментарии к счёту: он придёт в уведомлении в Telegram. Если счёт выставляет ваша система по API, она сохраняет id операции из ответа и по нему узнаёт заказ, когда придёт вебхук. Сверять ничего не придётся.

Это платно?

20 оплаченных платежей в месяц — бесплатно навсегда, уведомления в Telegram и вебхуки входят во все тарифы. Дальше тариф Start: 7 000 ₸ в месяц за 500 оплат.

Регистрация за минуту. Песочница — сразу.

Вход через Google — и можно выставить тестовый счёт, не подключая Kaspi. 20 оплаченных платежей в месяц — бесплатно навсегда.