Разработка мобильного приложения для вендинговых автоматов
Мы создаем мобильные приложения для вендинговых сетей, которые превращают обычный автомат в цифровую точку продаж. С нашим решением оператор получает телеметрию в реальном времени, покупатель оплачивает товар по QR-коду без монет, а автомат сам сообщает о неисправностях. Оцените проект под вашу сеть — пишите, мы расскажем детали.
Вендинговый автомат без мобильного приложения — это купюроприёмник и монетоприёмник. С приложением: QR-оплата, безналичный расчёт, программа лояльности, push-уведомления о новинках, история покупок. Для оператора сети — телеметрия: уровень заполнения, ошибки механики, выручка по точкам в реальном времени. Наш опыт: 5+ лет разработки вендингового ПО, 20+ внедрённых проектов. Гарантируем стабильную работу даже при перебоях связи.
Как работает QR-оплата в вендинговых автоматах?
Для безналичной оплаты с телефона используется платёжный модуль, встроенный в MDB-шину автомата. Пользователь оплачивает в приложении — сервер отправляет сигнал модулю, тот эмулирует опускание монеты, и автомат выдаёт товар. Сессия QR-оплаты генерирует уникальный токен с TTL 120 секунд. Если пользователь не успел оплатить, QR устаревает, и автомат сбрасывает ожидание.
// iOS: генерация QR с session token для автомата class VendingSessionManager { func createPaymentSession(machineId: String, amount: Decimal) async throws -> PaymentSession { let session = try await api.createSession(VendingSessionRequest( machineId: machineId, amount: amount, expiresIn: 120 // 2 минуты )) // QR содержит session.deepLink — открывает приложение при сканировании return session } func pollSessionStatus(sessionId: String) -> AsyncStream<SessionStatus> { AsyncStream { continuation in Task { for await _ in Timer.publish(every: 2, on: .main, in: .common).autoconnect().values { let status = try? await api.getSessionStatus(sessionId) continuation.yield(status ?? .unknown) if status == .completed || status == .expired { break } } continuation.finish() } } } } Polling статуса сессии каждые 2 секунды — проще WebSocket в данном случае. Сессия имеет TTL 120 секунд: если пользователь не оплатил, QR устарел, автомат сбрасывает ожидание. Время отклика системы составляет менее 1 секунды, что критично для high-traffic точек (более 200 транзакций в день).
Телеметрия: протокол DEX/UCS и современный IoT
Стандарт для вендинговых автоматов — протокол DEX/UCS (Data Exchange / Universal Communications Standard). Большинство коммерческих автоматов (Crane, Sanden, Azkoyen) имеют DEX-порт — RS-232, 9600 бод. Через DEX можно читать счётчики продаж, ошибки, остатки товара. Проблема: DEX разрабатывался для считывания данных при обслуживании, не для онлайн-мониторинга.
Современное решение: IoT-контроллер (Telemetry Gateway) подключается к DEX-порту и к сети (4G/Wi-Fi). Производители: Parlance, CPI, Nayax, Coinco. Они предоставляют REST API для мобильных приложений и дашбордов. Время автономной работы контроллера в режиме ожидания достигает 72 часов благодаря энергоэффективным компонентам.
Нет стандартного IoT-модуля? Самодельный на Raspberry Pi Zero + RS-232 адаптер + Python-парсер DEX + MQTT публикация:
Пример кода парсера DEX на Python
import serial, paho.mqtt.client as mqtt def read_dex_data(port='/dev/ttyUSB0'): ser = serial.Serial(port, 9600, timeout=5) # Инициализация DEX-сессии ser.write(b'\x04') # EOT — начало сессии response = ser.read_until(b'\x04') # читаем до EOT return parse_dex_block(response) def parse_dex_block(data: bytes) -> dict: # Парсим блоки VA (Vending Machine Audit) # VA1 — идентификация, VA2 — данные продаж, VA3 — остатки blocks = data.split(b'\x1c') # FS разделитель return {block[:3].decode(): block[3:].decode() for block in blocks} MDB: управление оплатой
MDB (Multi-Drop Bus) — протокол для устройств оплаты внутри автомата (купюроприёмник, монетоприёмник, карточный ридер). Большинство современных касслетов работает через MDB Master — главный контроллер автомата управляет периферией. Подробнее о Multi-Drop Bus (MDB).
Сравнение традиционного автомата и с мобильным приложением
| Параметр | Традиционный автомат | Автомат с приложением |
|---|---|---|
| Способ оплаты | Монеты, купюры | QR-код, банковская карта, мобильный кошелёк |
| Управление ассортиментом | Вручную при обходе | Дистанционное через дашборд |
| Телеметрия | Нет | Остатки, ошибки, выручка в реальном времени |
| Программа лояльности | Невозможна | История покупок, скидки, push-уведомления |
| Снижение затрат на инкассацию | База | До 50% |
Что входит в разработку мобильного приложения для вендинга
Мы предоставляем:
- Клиентское приложение (iOS/Android) с QR-оплатой, историей, лояльностью.
- Операторский дашборд с телеметрией, управлением автоматами, аналитикой.
- Интеграцию с платёжными модулями (Nayax, PayLink) через MDB.
- Подключение IoT-контроллеров для чтения DEX/UCS.
- Документацию и обучение персонала.
- Поддержку после запуска.
Почему телеметрия важна для оператора?
Оператор в приложении (или в веб-панели) видит по каждому автомату: остатки по ячейкам, выручку за день/неделю/месяц, ошибки (застрявший товар, отказ купюроприёмника, проблема с рефрижерацией). Маршрут объезда — оптимизированный список автоматов, которые нужно пополнить сегодня, с учётом остатков и прогноза продаж. Это сокращает время инкассации на 30% и увеличивает средний чек на 25% за счет своевременного пополнения. Для сети из 50 автоматов экономия времени инкассации составляет до 15 часов в неделю.
Интеграция с системами учёта оператора: 1С, SAP, собственные ERP — через REST или файловый обмен (CSV/XLS). Нормализация данных из разных моделей автоматов — ключевая задача бэкенда.
Как интегрировать платёжный модуль с вендинговым автоматом?
Шаги интеграции:
- Подключите MDB-совместимый платёжный модуль к разъёму на контроллере автомата.
- Настройте API-ключи и эндпоинты для обработки платежей (обычно через JSON-RPC).
- Проверьте эмуляцию монеты — сервер должен отправлять команду на выдачу товара.
- Протестируйте сценарии ошибок: таймаут сессии, нехватка сдачи, отмена платежа.
Большинство современных модулей (Nayax VPOS, PayLink) поддерживают REST API, что упрощает разработку.
Сравнение платёжных модулей
| Модуль | Способ связи | Поддержка MDB | Дополнительные функции |
|---|---|---|---|
| Nayax VPOS Touch | Wi-Fi/4G | Да | Встроенный NFC, GPS |
| PayLink | Bluetooth/Wi-Fi | Да | Интеграция с Loyverse |
| CPI EMV | RS-232 | Да | Эмуляция купюр |
Сроки и стоимость
Разработка клиентского приложения и операторского дашборда для сети вендинговых автоматов занимает от 3 до 5 месяцев. Стоимость рассчитывается индивидуально после анализа моделей автоматов и платёжной инфраструктуры. Оценим проект бесплатно — свяжитесь с нами, чтобы обсудить детали.
Получите консультацию: наши инженеры помогут подобрать оптимальное решение под вашу сеть. Гарантия на разработанное ПО — 12 месяцев.







