TL;DR
- Клиент: CoffeeBox — франшиза вендинговых кофеавтоматов из Казахстана, выход на рынок Узбекистана
- Задача: подключить Click, Payme и Uzum к двум типам китайских кофемашин и дать владельцу контроль через админку
- Результат: пилотные автоматы работают в Ташкенте, от сканирования QR до кофе в руке — считанные секунды. Система готова к масштабированию на десятки точек
Контекст
CoffeeBox — сеть вендинговых кофеавтоматов, работающая по франшизной модели из Казахстана. В Казахстане бизнес уже отлажен, но при выходе на узбекский рынок компания столкнулась с задачей, без которой запуск невозможен: нужно принимать оплату через местные платёжные системы и управлять автоматами удалённо.
Кофеавтоматы — это не просто «поставил и забыл». Каждая машина должна в реальном времени принять оплату, проверить статус транзакции и выдать напиток. А владельцу нужна прозрачная картина: какие автоматы работают, сколько заказов прошло, какие платёжки используют клиенты.
CoffeeBox искали команду с опытом интеграции узбекских платёжных систем и готовностью разбираться в API китайских производителей оборудования. После первого созвона мы согласовали архитектуру и стартовали через три дня.
Проблема
Запуск вендинга в Узбекистане упирался в три блокера:
- Локальные платежи. Click, Payme и Uzum — у каждой системы свой протокол, своя логика подтверждения, свои требования к интеграции. Без всех трёх терять аудиторию
- Два типа машин — два разных API. CoffeeBox использует автоматы Jetinno и HappyWorker. Оба — китайские производители с разными протоколами, разной документацией и разным подходом к коммуникации
- Разрозненный контроль. У каждого производителя своя панель управления, но ни одна не показывает платежи через Click, Payme и Uzum. Чтобы понять сколько денег пришло и откуда — владельцу приходится сводить данные из нескольких систем вручную
Цели проекта
- Оплата через любую платёжку. Покупатель выбирает кофе на экране автомата, получает три QR-кода — Click, Payme, Uzum — и платит удобным способом
- Два типа машин — одна система. Jetinno и HappyWorker работают через разные API, но для покупателя и владельца разницы нет — всё проходит через единый бэкенд
- Сопровождение на каждом этапе. Для CoffeeBox это первый запуск в Узбекистане — мы помогали в коммуникации с платёжными системами, подсказывали по процессу получения доступов и отвечали на вопросы заказчика по ходу всего проекта
Решение: платёжный хаб для вендинга
Мы спроектировали и собрали бэкенд-сервис, который стал связующим звеном между платёжными системами, кофеавтоматами и админкой владельца.
Интеграция платёжных систем
Для каждой платёжки реализован полный цикл: генерация QR-кода, обработка webhook Входящий HTTP-запрос от внешней системы, уведомляющий о событии — например, об успешной оплате -уведомлений, подтверждение и отмена транзакций.
- Payme — JSON-RPC 2.0, полный цикл: CheckPerformTransaction → CreateTransaction → PerformTransaction
- Click — двухфазная схема: Prepare (резервирование средств) → Confirm (подтверждение)
- Uzum — REST API с проверкой, созданием, подтверждением и возвратом
Подключение двух типов машин
Jetinno и HappyWorker общаются с сервером по-разному — мы написали отдельный модуль под каждый тип машины. Для владельца разницы нет: обе работают через единую систему и единую админку.
Незарегистрированные устройства автоматически создаются в системе с отключённым статусом — пока администратор не активирует их вручную. Это защищает от несанкционированных подключений.
Админка
Владелец видит полную картину:
- Машины — статус, тип (Jetinno / HappyWorker), привязка к владельцу
- Заказы — статус, сумма, платёжная система, привязка к машине
- Транзакции — детали от каждой платёжки, внешние ID, таймстемпы
- Аудит-лог — все входящие и исходящие запросы с телами и IP-адресами
Подробнее об услуге: Интеграция платёжных систем и внешних сервисов
Как это работает: путь клиента
- Человек подходит к автомату и выбирает напиток на экране
- Автомат отправляет запрос на бэкенд — создаётся заказ
- Бэкенд генерирует три QR-кода: Click, Payme, Uzum
- Клиент сканирует QR удобным способом и оплачивает
- Платёжная система отправляет webhook — бэкенд подтверждает транзакцию
- Бэкенд уведомляет автомат об успешной оплате
- Машина выдаёт кофе
От сканирования QR до выдачи напитка — около 15 секунд. Никаких наличных, никаких терминалов.
Ключевые решения
1. Работа с китайскими производителями
Мы изучили документацию обоих производителей, разобрались в особенностях их API и наладили обмен данными. Где документация была неполной — уточняли напрямую у технической поддержки Jetinno и HappyWorker, тестировали на реальных запросах и добивались стабильной работы. Заказчику не пришлось разбираться в особенностях китайских API — мы закрыли это направление и приходили с готовыми решениями.
2. Единый статус заказа для трёх платёжек
Каждая платёжная система работает по-своему, но мы привели все три к единой логике: заказ создан → оплачен → кофе выдан. Владелец видит одинаковую картину независимо от того, через какую платёжку пришла оплата.
3. Безопасность и надёжность
Когда речь о деньгах — нельзя допустить ни потерю транзакции, ни двойное списание. Мы заложили защиту на уровне архитектуры:
- Ключи платёжных систем хранятся в зашифрованном виде — даже при доступе к базе их нельзя прочитать
- Каждый запрос между системами подписывается — подделать или подменить его не получится
- Повторная оплата за один и тот же заказ исключена на уровне системы
- Новое устройство не начнёт работать, пока администратор вручную его не активирует
- Уведомление автомату об оплате отправляется в фоне — это не замедляет ответ платёжной системе и повышает надёжность
Что дальше
Платёжная инфраструктура запущена и работает в продакшене. Это фундамент, на котором CoffeeBox уже строит следующие этапы:
- Мобильное приложение — заказ кофе заранее, оплата через приложение, программа лояльности
- Бизнес-аналитика — продажи по точкам, популярные напитки, пиковые часы, юнит-экономика каждого автомата
- Масштабирование — подключение новых точек через ту же инфраструктуру без доработок бэкенда
Следующий этап: Разработка мобильных приложений
Как мы работали
- Согласовали архитектуру — разобрали бизнес-модель франшизы, требования к запуску в Узбекистане и спроектировали систему
- Отправили запросы в платёжные системы — пока шли организационные процессы по получению доступов, параллельно занялись интеграцией с машинами
- Подключили кофемашины — изучили API Jetinno и HappyWorker, настроили обмен данными и протестировали локально
- Подключали платёжки по мере готовности — как только приходили доступы от Click, Payme и Uzum — интегрировали и тестировали на реальных транзакциях
- Запустили пилот — production-деплой, первые автоматы в Ташкенте принимают оплату
Похожий кейс: Кейс Contab: единый контур заявок, документов и финансов
Кому подходит такое решение
Если вы узнали свою ситуацию хотя бы в одном пункте — мы можем помочь:
- вы запускаете вендинг, терминалы или другое IoT-оборудование в Узбекистане и нужно принимать платежи через Click, Payme или Uzum
- у вас несколько типов устройств от разных производителей и нужен единый бэкенд вместо отдельной интеграции для каждого
- вы заходите на рынок Узбекистана из Казахстана, России или другой страны и нужна локальная платёжная инфраструктура
- важны безопасность транзакций, аудит и полный контроль через админку
FAQ
Сколько времени занимает интеграция одной платёжной системы? +
С нашей стороны интеграция одной платёжки занимает около недели. Но общий срок зависит от того, как быстро платёжная система выдаст доступы и ключи — этот процесс на их стороне и может занять от нескольких дней до нескольких недель. Поэтому мы параллельно работаем над другими задачами, пока ждём.
Можно ли добавить другие типы вендинговых машин? +
Да. Система спроектирована так, что для нового типа машины пишется отдельный модуль, а вся логика платежей и управления остаётся общей. Подключение нового производителя не требует переделки существующей системы.
Как обеспечивается безопасность платежей? +
Ключи платёжных систем хранятся в зашифрованном виде, все запросы между системами подписываются, повторное списание за один заказ исключено на уровне системы. Новое устройство не начнёт принимать оплату, пока администратор вручную его не активирует.
Можно ли использовать этот бэкенд не только для кофеавтоматов? +
Да. Архитектура подходит для любого вендинга и IoT-устройств, которым нужно принимать платежи: снековые автоматы, зарядные станции, стиральные машины и другое оборудование.