POS-оборудование для кастомных приложений: принтеры, денежные ящики, сканеры
Созданная ИИ POS-система выглядит готовой до тех пор, пока не сталкивается с чековым принтером. Рассказываем, что именно требуется каждому POS-устройству для работы с кастомным приложением, какому оборудованию нужно одобрение Apple и как избежать самых долгих согласований.

POS-оборудование для кастомных приложений — это этап, на котором застревает большинство проектов по созданию POS-систем с помощью ИИ. Кассовый интерфейс выглядит готовым в превью, но затем чековый принтер молчит, денежный ящик не открывается, а картридер не подключается. Ничто из этого не является проблемой кода. Каждое устройство подключается определенным образом, и некоторые типы подключений требуют одобрения Apple и производителя устройства до того, как вашему приложению разрешат их использовать.
В этом руководстве мы разбираем устройство за устройством: как подключается каждое из них, что требуется на iOS и Android, и какие решения сэкономят вам недели. Краткий вывод: выберите тип подключения до того, как выберете модель принтера.

Почему именно на оборудовании застревают ИИ-приложения POS?
Потому что ИИ может написать код под SDK принтера, но не может выдать вашему приложению разрешение на использование принтера. На кассе созданную вайб-кодингом POS блокируют три вещи:
Правила платформ. iOS позволяет приложению общаться только с аксессуарами Bluetooth Classic и Lightning/USB, которые были одобрены программой Apple MFi для этого конкретного приложения.
Браузер. В Safari нет Web Bluetooth, поэтому веб-POS на iPad вообще не может дотянуться до Bluetooth-оборудования.
Тестирование. Каждый принтер, ящик и ридер ведут себя немного по-разному, и узнаете вы об этом только на реальном устройстве.
Если вы строите систему с нуля, наш базовый материал про то, как создать собственную POS-систему с помощью ИИ, также разбирает преграды в платежах и развертывании. Эта страница посвящена всему, что включается в розетку или порты.
Что требуется для каждого типа подключения чекового принтера на iOS?
Именно тип подключения определяет объем согласований, а не бренд. Вот полная картина для POS на iPad или iPhone:
| Подключение | Одобрение MFi на iOS | Работает из браузера | Лучше всего для |
|---|---|---|---|
| Bluetooth Classic | Да, через производителя | Нет | Мобильная печать, когда принтер уже сертифицирован MFi |
| Bluetooth LE | Нет | Нет (в Safari нет Web Bluetooth) | Мобильная печать без этапа MFi |
| Сеть (Ethernet или Wi-Fi) | Нет | Да, с моделями WebPRNT или ePOS-Print | Стационарные кассы, печать с нескольких станций на один принтер |
| Lightning или USB | Да | Нет | Кассы с одной станцией и поддерживаемыми моделями |
На Android ни один из этих вариантов не требует одобрения Apple; вы используете Android SDK производителя принтера и стандартные разрешения Bluetooth в Android. Полное сравнение по типам магазинов смотрите в статье Bluetooth, BLE или сеть: выбор чекового принтера для POS на iPad.
Как работает процедура MFi для принтеров?
Одобрение MFi — это разрешение Apple конкретно вашему приложению общаться с конкретным аксессуаром по Bluetooth Classic или Lightning/USB. Вы не подаете заявку в Apple самостоятельно. За вас это делает производитель принтера:
Скачайте iOS SDK производителя принтера и зарегистрируйтесь в Apple Developer Program.
Соберите приложение, используя имя протокола производителя для этого принтера.
Отправьте данные вашего приложения через регистрационную форму производителя.
Производитель передает ваше приложение в программу Apple MFi.
После проверки Apple производитель присылает вам MFi Product Plan ID (PPID).
Отправьте приложение в App Store, указав PPID в примечаниях App Review.
Star Micronics подробно документирует эту последовательность и указывает, что одобрение может занять от 1 до 2 недель (процесс Star MFi). Epson использует ту же модель для принтеров MFi по Bluetooth или Lightning-to-USB, а Zebra называет это внесением в белый список (whitelisting). Обратите внимание на два нюанса: PPID привязан к зарегистрированным моделям принтеров, поэтому добавление новой модели может потребовать повторной процедуры, а отсутствие PPID в примечаниях к проверке приведет к отклонению приложения.
Подробные разборы: нужно ли одобрение MFi для печати чеков из приложения на iPad, как подключить принтер Star Micronics к собственному POS-приложению, как печатать на принтере Epson TM из кастомной POS и как печатать на принтере etiketok Zebra из iOS-приложения.
Может ли веб-POS печатать чеки?
Да, но только по сети. Браузер не может дотянуться до Bluetooth-принтеров на iPad, а стандартный диалог печати браузера совершенно не подходит для кассы: он задает лишние вопросы, выбирает не тот формат бумаги и замедляет каждую продажу.
Рабочий вариант — сетевой принтер, принимающий задания печати с веб-страницы. Самые популярные варианты — Star WebPRNT и Epson ePOS-Print: ваше веб-приложение отправляет чек напрямую на IP-адрес принтера. Минусы: необходимость настройки сети в каждом магазине и невозможность печати при сбое сети. Полное руководство: как печатать чеки из веб-приложения без Bluetooth.
Как денежный ящик открывается из кастомной POS?
В большинстве конфигураций — через принтер. Стандартный денежный ящик для POS подключается к порту управления ящиком (drawer-kick) чекового принтера кабелем RJ11 или RJ12. Ваше приложение отправляет принтеру команду открытия ящика, а принтер подает короткий электрический импульс, отпирающий замок.
Это означает две вещи для вашей разработки. Ящик будет работать только тогда, когда работает печать, а веб-POS может открыть ящик, если умеет печатать на сетевой принтер с подключенным ящиком. USB- и сетевые ящики существуют, но встречаются реже. Обязательно логируйте каждое открытие ящика, особенно без совершения продажи, так как от этого зависит сверка кассы. Подробнее в как открывается денежный ящик: управляющие коды и кастомные POS-приложения.
Нужен ли сканерам штрихкодов специальный SDK?
Обычно нет. Большинство сканеров поставляются в режиме эмуляции клавиатуры (HID): каждый скан приходит так, будто кто-то ввел штрихкод вручную и нажал Enter. Это работает в любом нативном приложении и на любой веб-странице, что делает сканеры самой простой подключаемой периферией.
Тем не менее важны две детали. Ваше приложение должно перехватывать сканы, даже когда текстовое поле не находится в фокусе, и должно уметь отличать быстрый скан от ввода человеком на клавиатуре. Использование SDK добавляет возможности конфигурации, отслеживание заряда батареи и расширенные данные, а при небольших объемах можно использовать камеру телефона. Руководство: сканеры штрихкодов в кастомном POS-приложении: режим HID против SDK.
Что насчет дисплеев кухни, экранов покупателя и принтеров этикеток?
Именно здесь кастомные кассовые решения чаще всего показывают свое преимущество, и у каждого компонента есть свои особенности:
Кухонные дисплеи (KDS) заменяют бумажные марки. Отобразить экран просто; сложная часть — надежная маршрутизация заказов по цехам в реальном времени, отметка о готовности (bump/recall) и работа в офлайне. См. стоит ли разрабатывать кухонную дисплейную систему.
Экраны покупателя показывают корзину, итоговую сумму и предложение чаевых. Главная задача — синхронизация состояния корзины между двумя экранами. См. экраны покупателя для кастомного POS-приложения.
Принтеры этикеток печатают ценники, полочные ярлыки и маркировки заказов. На iOS принтеры этикеток Bluetooth Classic используют ту же модель MFi, что и чековые принтеры, поэтому Zebra запрашивает ваш Bundle ID и строки протоколов перед добавлением приложения в белый список.
Перед запуском проведите тестирование по нашему чек-листу проверки POS-оборудования именно на тех устройствах, которые поедут на торговые точки.
С какого POS-оборудования стоит начать кастомную разработку?
Если вы строите систему с нуля, выбирайте оборудование, сводящее к минимуму процедуры одобрения:
| Потребность | Вариант с наименьшим трением | Почему |
|---|---|---|
| Чековый принтер, стационарная касса | Сетевой принтер с поддержкой веб-печати | Без процедуры MFi, общий доступ, работает из браузера |
| Чековый принтер, мобильный | Модель с Bluetooth LE | Без процедуры MFi на iOS |
| Денежный ящик | Ящик с управлением через принтер | Нет необходимости поддерживать отдельное подключение |
| Сканер | Сканер в режиме клавиатуры (HID) | Работает везде без написания кода |
| Платежи картами | Сертифицированный ридер вашего провайдера или Tap to Pay | Принимать карты может только сертифицированное оборудование |
| Смарт-терминалы | Терминал с облачным управлением | Подходит для веб-приложений |
Картридеры выделены в отдельную категорию, так как обрабатывать карты могут только ридеры, сертифицированные вашим платежным провайдером. В нашем базовом материале про то, как принимать банковские карты в кастомном POS-приложении, детально описаны ридеры, Tap to Pay и смарт-терминалы.
Можно ли вообще обойтись без SDK для оборудования?
Да, если ваш кассовый интерфейс работает на платформе, которая уже выполнила все интеграции. Именно так устроена Final. Ваш ИИ собирает кассовый интерфейс в Flow Studio, а станция, на которой он запускается, берет на себя всю работу с оборудованием:
Native Stations запускают приложение Final POS на устройствах Apple и Android и подключают картридеры, Tap to Pay, чековые принтеры и денежные ящики. См. как настроить Native Station.
Virtual Stations работают в любом браузере на экранах, которым не требуется локальное оборудование. Разница описана в Native Station против Virtual Station.
Печать на несколько принтеров можно маршрутизировать по тегам (например, касса и кухня). См. маршрутизация на несколько принтеров на Station.
Ваш кассовый интерфейс просто отправляет запрос на печать или открытие ящика; станция делает все остальное. Компромисс честен: вы используете оборудование из списка поддерживаемого Final, а не любое устройство на рынке, и приобретаете оборудование по фиксированной цене, как описано в как устроено ценообразование Final POS. Для большинства магазинов этот список полностью закрывает потребности кассы. Если вы разрабатываете всю POS-систему самостоятельно, начните с руководства создать собственную POS-систему с помощью ИИ.
Часто задаваемые вопросы
Какое оборудование требуется для кастомной POS-системы?
Как минимум — устройство для запуска приложения, чековый принтер и способ приема карт. Большинство магазинов добавляют денежный ящик и сканер штрихкодов, а рестораны часто добавляют кухонный дисплей или экран покупателя.
Всем ли чековым принтерам нужно одобрение MFi для приложений на iPad?
Нет. Одобрение MFi на iOS требуется только принтерам, подключаемым по Bluetooth Classic или Lightning/USB. Принтерам Bluetooth LE и сетевым принтерам (Ethernet или Wi-Fi) оно не нужно.
Как получить одобрение MFi для принтера?
Вы отправляете данные вашего приложения производителю принтера (например, Star Micronics, Epson или Zebra). Он подает заявку в программу Apple MFi и отправляет вам PPID, который вы указываете в примечаниях к проверке App Store при отправке приложения.
Как открыть денежный ящик из своего приложения?
Большинство денежных ящиков подключаются к порту управления ящиком на чековом принтере. Ваше приложение отправляет принтеру команду открытия ящика, а принтер подает импульс для его открытия.
Нужен ли сканерам штрихкодов SDK?
Не нужен в режиме эмуляции клавиатуры (HID), когда каждый скан приходит как введенный текст в любое приложение или веб-страницу. SDK добавляет настройки и расширенные данные, но для большинства магазинов он необязателен.
Может ли веб-POS печатать чеки?
Да, на сетевых принтерах, поддерживающих веб-печать, таких как модели Star WebPRNT или Epson ePOS-Print. В Safari на iPad нет Web Bluetooth, поэтому браузер не может подключаться к Bluetooth-принтерам.
