Разработка мобильного приложения для платежного терминала (mPOS)
mPOS превращает смартфон или планшет в платёжный терминал. Курьер принимает оплату картой при доставке, таксист — за поездку, торговец на рынке — за товар. Технически это интеграция с ридером карт через Bluetooth или аудиоджек, плюс поддержка NFC на самом устройстве для contactless.
Оборудование и SDK
Основные ридеры на рынке и их SDK:
| Ридер | Интерфейс | SDK |
|---|---|---|
| Verifone e285 | Bluetooth | Verifone Commander SDK |
| Ingenico iSMP4 | Bluetooth | Ingenico mPOS SDK |
| PAX A920 | Встроенный Android | PAX SDK |
| BBPOS Chipper 2X | Bluetooth/Audio | Stripe Terminal SDK |
| Square Reader | Lightning/USB-C/Bluetooth | Square Reader SDK |
Stripe Terminal SDK (stripe-terminal-ios, stripe-terminal-android) — наиболее документированный выбор для новых проектов. Поддерживает несколько типов ридеров, берёт на себя EMV-транзакции, онлайн и оффлайн режим.
Bluetooth-соединение с ридером — источник большинства проблем в mPOS: ридер отключается в середине транзакции, телефон не видит ридер после screen lock, батарея ридера разрядилась. Реализуем reconnect logic с автоматическим поиском и переподключением к последнему использованному ридеру. CBCentralManager (iOS CoreBluetooth) / BluetoothAdapter (Android) с состоянием соединения в реальном времени на главном экране.
EMV и NFC
Карточные транзакции по международным стандартам — EMV (Chip & PIN, Chip & Sign) и contactless (NFC). Stripe Terminal SDK обрабатывает EMV-диалог с чипом полностью на стороне SDK — разработчику не нужно реализовывать ISO 7816 APDU-команды вручную.
NFC на самом устройстве без ридера: iOS — только Apple Pay через PassKit, не принимаем произвольные NFC-карты (Apple ограничивает). Android — HCE (Host Card Emulation) позволяет принимать contactless Visa/MC через NFC устройства напрямую, но требует сертификации платёжной системы.
Apple Tap to Pay (iOS 16+, iPhone XS+) — принимаем contactless карты через NFC iPhone без внешнего ридера. Требует Partner SDK от Apple-одобренного PSP (Stripe, Adyen, Checkout.com поддерживают). Подключение через ProximityReader framework. Меняет рынок mPOS — ридер больше не нужен.
Оффлайн режим
Курьер едет в подземном переходе — нет сети. Транзакция должна завершиться. Stripe Terminal поддерживает оффлайн-режим: транзакция авторизуется локально на устройстве, сохраняется в очередь, синхронизируется при восстановлении сети. Лимит суммы в оффлайн-режиме настраивается. Риск chargeback при оффлайн — принимается бизнесом осознанно.
Чеки
Электронный чек — SMS или email. Печатный чек — интеграция с Bluetooth-принтером (Star Micronics TSP143, Epson TM-P20). Star Bluetooth SDK (iOS/Android) — принтер работает как CBPeripheral, команды в формате StarIO.
Фискальный чек в РФ/РБ — интеграция с ОФД через ФН/СКНО. АТОЛ, Эвотор, Комтет — популярные решения. Мобильные фискальные регистраторы (АТОЛ 91Ф, ШТРИХ-MPAY-Ф) подключаются по Bluetooth, SDK производителя.
Главный экран и UX
Для кассира-пользователя mPOS приоритет — скорость. Главный экран: поле ввода суммы (цифровой keypad, крупный шрифт) + кнопка «Принять оплату». Каталог товаров — опционально, для тех, кто ведёт номенклатуру.
Смены: открытие/закрытие кассовой смены с Z-отчётом. Ограничение: один оператор — одна смена. Авторизация оператора PIN-кодом (не биометрией — у разных кассиров свои PIN).
История транзакций с поиском и фильтром за период. Возвраты — частичные и полные, с подтверждением менеджерским PIN-кодом.
Стек
Нативный Swift + Kotlin — предпочтительно для mPOS из-за прямого доступа к CoreBluetooth/BluetoothAdapter, ProximityReader, и аппаратным интерфейсам. React Native с нативными модулями для Bluetooth и Terminal SDK — рабочий вариант при кроссплатформенном требовании.
Процесс
Выбор ридера и PSP → интеграция Terminal SDK → Bluetooth-соединение и reconnect → платёжный флоу (EMV + contactless) → чеки (электронные и печатные) → фискальная интеграция → тестирование на реальном оборудовании → сертификация PSP → публикация.
Ориентиры по срокам
Базовый mPOS (ввод суммы, оплата через Stripe Terminal, электронный чек): 3–4 недели. Полноценное приложение с каталогом, сменами, возвратами, фискальным регистратором и Bluetooth-принтером: 2–3 месяца. Стоимость — после анализа требований.







