...
... Алматы
USD—
EUR—
RUB—
Экономика

Пять номеров, двенадцать попыток, ноль подключений

Qut Pay — проект издателя. Герой истории согласился на публикацию, название компании изменено.

Шестнадцатого октября владелец небольшого алматинского сервиса — назовём его «Грантфилд» — зарегистрировался в Qut Pay, чтобы принимать оплату Kaspi на своём сайте. К вечеру он написал в поддержку одну фразу: «Көп номерді көрдік, бәрібір істемейді» — «перепробовали много номеров, всё равно не работает». В журнале сервиса к тому моменту было двенадцать попыток подключения за четыре часа, все неудачные.

Эта история стоит того, чтобы её разобрать, потому что в ней три разные причины наложились друг на друга, и каждая по отдельности встречается у половины новых подключений.

Как это вообще работает

Kaspi не выдаёт обычному магазину API. Но в бизнес-аккаунте Kaspi Pay есть роль «Кассир»: сотрудник, который может выставлять счета и принимать оплату по QR. Сервисы вроде Qut Pay подключаются к вашему Kaspi Pay именно как такой сотрудник — через отдельный номер телефона и SMS-код — и дают сайту API и webhook. Деньги идут напрямую на счёт владельца.

Ключевое слово — отдельный номер. Дальше станет ясно почему.

Причина первая: ошибка, которую никто не мог прочитать

Первое, что увидел предприниматель, — надпись «Ішкі қате», «внутренняя ошибка». Двенадцать раз.

В журнале сервиса при этом лежало развёрнутое объяснение на казахском: что Kaspi не показал экран ввода кода, какие бывают причины и что делать. Но текст не доходил до экрана: ошибка от Kaspi не имела HTTP-статуса, и сервер показывал вместо неё общую заглушку. Это была ошибка сервиса, и её исправили в тот же день — теперь при отказе Kaspi человек видит причину и инструкцию, а не «внутренняя ошибка».

Урок для любого сервиса в этой категории: единственное сообщение, написанное для человека, не должно быть единственным, которое человек не увидит.

Причина вторая: пять номеров — пять разных ошибок

Когда предприниматель прислал скриншот списка сотрудников в своём Kaspi Pay, стало видно, почему не подошёл ни один:

Сотрудник Что было в Kaspi Pay Почему не подключился
Владелец роли «Руководитель, Кассир» две роли; свой номер не подходит никогда
Сотрудник 2 «Кассир», ни разу не входил в Kaspi Pay номер не активирован
Сотрудник 3 то же то же
Сотрудник 4 то же то же
Сотрудник 5 «Ожидается регистрация в Kaspi Pay» номер вообще не зарегистрирован

Первая строка — самая частая ошибка в категории. Владелец добавляет себя кассиром. Kaspi допускает одно активное устройство на кассира: если сервис подключится номером владельца, приложение Kaspi Pay на его телефоне выйдет из аккаунта, и будет выходить при каждом подключении. Поэтому номер владельца с двумя ролями Kaspi на этот сценарий не пускает.

Остальные четыре — люди, которых добавили в сотрудники, но которые ни разу не открыли Kaspi Pay с этого номера. Kaspi называет это активацией: один вход с номера, затем выход. Без этого шага SMS-кода не будет.

Предприниматель остановился на шестом сотруднике — «Таире», с чистой ролью «Кассир» и активированным номером. И… снова отказ. Вот здесь история стала интересной.

Причина третья: виноват был не номер

Издатель проверил ту же процедуру на своём аккаунте, с заведомо правильным номером. Тот же отказ, в ту же секунду. Значит, дело не в номере — что-то системное.

Поиск по журналу показал: последнее успешное подключение кассира в сервисе было 10 сентября. С 21 сентября Kaspi Pay в App Store перешёл на новую схему версий — 26.0921, 26.1005, 26.1013. Сервис же представлялся Kaspi как приложение версии 4.112.1. Kaspi не возвращал ошибку — он просто молча показывал экран ввода номера ещё раз. Пять недель ни один новый кассир не мог подключиться, и это выглядело как «номер не подходит».

Проверка заняла десять минут: сервис попробовал представиться новой версией. Со старым номером сборки Kaspi по-прежнему отказывал; с новым — показал экран кода и отправил SMS. Kaspi проверяет не только версию, но и номер сборки, а его нигде не публикует — подобрать можно только экспериментом.

Новый профиль версии включили, предприниматель создал подключение заново, ввёл номер Таира, и через 44 секунды в журнале появилась строка session established (ИП …). Первое успешное подключение внешнего клиента за месяц.

Что из этого следует

Три практических вывода для тех, кто собирается подключать Kaspi через роль «Кассир» — у любого сервиса, не только у Qut Pay:

  1. Отдельная SIM до начала. Не свой номер. Не номер человека с ИП в Kaspi Pay. Купить новую SIM за 500 тенге дешевле, чем потерять день.
  2. Кассир должен один раз войти в Kaspi Pay и выйти. Пока в списке сотрудников у него статус «ожидается регистрация» или он ни разу не входил — кода не будет.
  3. Если всё правильно, а подключение не идёт — спросите сервис, когда у них было последнее успешное подключение. Kaspi обновляет приложение каждые две-три недели; после обновления у всех сервисов этой категории есть окно в день-два, когда новые кассиры не подключаются, пока сервис не обновит версию. Это общий риск схемы, и честный сервис о нём предупреждает.

У «Грантфилда» теперь работает приём оплаты. Старая, неработающая запись подключения всё ещё висит у него в кабинете — к ней привязан ключ API сайта, и ключ надо перенести на новое подключение, иначе счета с сайта будут уходить в мёртвый канал. Об этом ему уже написали.

Инструкция по подключению, с теми же тремя условиями для номера: qut.kz/ru/kak-podklyuchit-kaspi-pay-k-saitu.