Представьте: курьер привёз заказ, а терминал разрядился. Или клиент хочет оплатить картой, но ридер не подключается после блокировки экрана. Такая ошибка обходится бизнесу в значительные потери — по статистике, каждый пятый mPOS-терминал теряет соединение во время транзакции, что составляет 20% недополученной выручки. Наша команда мобильных разработчиков с 8-летним опытом в финтехе (15+ проектов) решает эти проблемы системно: мы проектируем mPOS-приложение, которое стабильно принимает оплату даже в сложных сценариях. Мы создаём mPOS под ключ: от выбора SDK и интеграции ридера до фискализации и публикации в сторах. Оценим ваш проект за 1–2 дня — свяжитесь для консультации.
Как обеспечить стабильное Bluetooth-соединение с ридером?
Bluetooth-соединение — главный источник проблем в mPOS: ридер отключается в середине транзакции, телефон не видит его после screen lock, батарея разрядилась. Реализуем reconnect logic с автоматическим поиском и переподключением к последнему использованному ридеру. Используем CoreBluetooth (iOS) или BluetoothAdapter (Android) с постоянным сканированием, автоматическое переподключение при обрыве, уведомления о состоянии соединения. Stripe Terminal SDK сам обрабатывает reconnect, что сокращает время разработки на 30–40% по сравнению с самостоятельной реализацией EMV-стека и Bluetooth-подключения. Тестируем с конкретными ридерами в условиях помех.
Оборудование и 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-транзакции, онлайн и офлайн режим. По данным Stripe, 70% пользователей предпочитают бесконтактную оплату, поэтому поддержка NFC обязательна. Интеграция Stripe Terminal SDK сокращает время разработки на 30–40% по сравнению с самостоятельной реализацией. Подробная документация.
Почему Apple Tap to Pay меняет рынок mPOS?
Apple Tap to Pay (iPhone с современной iOS) — принимаем contactless карты через NFC iPhone без внешнего ридера. Требует Partner SDK от Apple-одобренного PSP (Stripe, Adyen, Checkout.com поддерживают). Подключение через ProximityReader framework. Это меняет рынок mPOS — ридер больше не нужен. Снижение затрат на оборудование до 3 раз по сравнению с покупкой отдельного ридера. Для Android аналогичный функционал доступен через HCE, но требуется сертификация платёжной системы.
EMV и NFC
Карточные транзакции по международным стандартам — EMV (Chip & PIN, Chip & Sign) и contactless (NFC). Stripe Terminal SDK обрабатывает EMV-диалог с чипом полностью на стороне SDK — разработчику не нужно реализовывать ISO 7816 APDU-команды вручную. NFC на самом устройстве без ридера: iOS — только Apple Pay через PassKit, Android — HCE (Host Card Emulation) позволяет принимать contactless Visa/MC через NFC, но требует сертификации.
Что делать при отсутствии сети?
Курьер едет в подземном переходе — нет сети. Транзакция должна завершиться. Stripe Terminal поддерживает офлайн-режим: транзакция авторизуется локально на устройстве, сохраняется в очередь, синхронизируется при восстановлении сети. Лимит суммы в офлайн-режиме настраивается. Риск chargeback при офлайн — принимается бизнесом осознанно.
| Режим | Описание | Ограничения |
|---|---|---|
| Online | Транзакция через сервер, быстрая авторизация | Требуется интернет |
| Offline | Локальная авторизация, отложенная синхронизация | Лимит суммы, возможен chargeback |
Чеки: электронные и печатные
Электронный чек — SMS или email. Печатный чек — интеграция с Bluetooth-принтером (Star Micronics TSP143, Epson TM-P20). Star Bluetooth SDK (iOS/Android) — принтер работает как CBPeripheral, команды в формате StarIO. Фискальный чек в РФ — интеграция с ОФД через ФН/СКНО. АТОЛ, Эвотор, Комтет — популярные решения. Мобильные фискальные регистраторы (АТОЛ 91Ф, ШТРИХ-MПАЙ-Ф) подключаются по Bluetooth, SDK производителя.
Главный экран и UX
Для кассира-пользователя mPOS приоритет — скорость. Главный экран: поле ввода суммы (цифровой keypad, крупный шрифт) + кнопка «Принять оплату». Каталог товаров — опционально, для тех, кто ведёт номенклатуру. Смены: открытие/закрытие кассовой смены с Z-отчётом. Авторизация оператора PIN-кодом. История транзакций с поиском и фильтром за период. Возвраты — частичные и полные, с подтверждением менеджерским PIN-кодом.
Что входит в работу
- Документация архитектуры и API-спецификация
- Интеграция Terminal SDK и Bluetooth-соединения
- Платёжный флоу (EMV + contactless + NFC)
- Чеки (электронные и печатные)
- Фискализация (для РФ/РБ)
- Тестирование на реальных ридерах
- Сертификация PSP и публикация в App Store / Google Play
- Техническая поддержка в течение 2 месяцев после релиза
Стек
Нативный Swift + Kotlin — предпочтительно для mPOS из-за прямого доступа к CoreBluetooth/BluetoothAdapter, ProximityReader и аппаратным интерфейсам. React Native с нативными модулями для Bluetooth и Terminal SDK — рабочий вариант при кроссплатформенном требовании. Stripe Terminal SDK vs. собственные SDK ридеров: Stripe выигрывает в поддержке нескольких ридеров и встроенном офлайн-режиме, что сокращает время разработки на 30-40%.
Процесс
Выбор ридера и PSP → интеграция Terminal SDK → Bluetooth-соединение и reconnect → платёжный флоу (EMV + contactless) → чеки (электронные и печатные) → фискальная интеграция → тестирование на реальном оборудовании → сертификация PSP → публикация.
Ориентиры по срокам
Базовый mPOS (ввод суммы, оплата через Stripe Terminal, электронный чек): 3–4 недели. Полноценное приложение с каталогом, сменами, возвратами, фискальным регистратором и Bluetooth-принтером: 2–3 месяца. Стоимость — после анализа требований. Наши инженеры сопровождают проект на всех этапах — от идеи до релиза и поддержки. Свяжитесь с нами для консультации по вашему проекту mPOS. Закажите индивидуальный расчёт стоимости.







