Авто и мото
Android
Сентябрь 2026
В 2026 году доля безналичных платежей достигла 88,9%. Банки планомерно сокращают сеть банкоматов и увеличивают количество платежных терминалов — сейчас в стране их работает больше 5,4 миллиона. При этом внутри безналичных расчетов меняются привычки: количество оплат по QR-кодам и биометрии растет в 1,7 раза быстрее, чем по обычным банковским картам.
Этот переход закреплен двумя новыми правилами.
—Во-первых, по закону № 248-ФЗ с 1 сентября 2026 года крупные торговые точки обязаны принимать оплату через универсальный QR-код.
—Во-вторых, изменилась экономика приема платежей. Из-за введения НДС 22% на банковскую комиссию обслуживание карт подорожало до 1,6–1,7%. Чтобы сохранить привычный уровень прибыли, бизнесу стало выгоднее переводить покупателей на оплату по QR-кодам, где комиссия составляет всего 0,4–0,7%.
Заказчики проекта — компании, чей бизнес построен на приеме платежей в нестандартных условиях: сети автоматических АЗС, вендинговые аппараты и сервисы торговли на борту самолетов. Главная уязвимость таких точек — невозможность исправить технический сбой на месте.
Главная уязвимость таких точек в том, что нельзя оперативно исправить сбой на месте. На ночной заправке или у кофейного аппарата нет оператора, который мог бы перезагрузить зависший терминал или принять наличные. В авиации персонал присутствует, однако продажи идут в условиях полного отсутствия интернета, из-за чего транзакцию невозможно оперативно проверить через банк. А значит любая ошибка платёжного ПО приводит к моментальной потере выручки
Этим компаниям потребовалось массово обновить кассовые программы на всем своем оборудовании, чтобы выполнить требования закона № 248-ФЗ и начать принимать платежи по QR-кодам. Но быстро реализовать это мешали три барьера:
Разнородный парк оборудования: в сетях заказчиков параллельно работают устройства от десятка брендов (PAX, Ingenico, Sunmi и другие). У каждого из них своя закрытая архитектура, устаревшие версии операционной системы Android и нет актуальной технической документации.
Сложная безопасность: внедрение сетевой проверки ПИН-кода (Online PIN) требует соблюдения международного стандарта безопасности PCI PTS и сложных алгоритмов шифрования.
Парадокс связи и QR-кодов: по закону терминалы обязаны принимать QR-коды, но для успешной оплаты через Систему быстрых платежей (СБП) стабильный интернет нужен не только кассе, но и смартфону покупателя. Без сети банковское приложение клиента просто не сможет подтвердить операцию. Из-за регулярных массовых сбоев мобильной связи терминалы часто оставались в автономном режиме, где провести оплату по QR-коду технически невозможно.
Перед нашей командой стояла задача с нуля разработать универсальную платежную программу на языке Kotlin. Чтобы решить проблемы бизнеса, мы сфокусировались на трех ключевых целях:
В первую очередь требовалось отвязать работу приложения от конкретного оборудования. Мы создавали единый код, способный стабильно работать на кассах любых производителей и без ошибок связываться с банковскими процессинговыми центрами, такими как SmartVista и TUCAN.
Вторая цель — обеспечить прием всех актуальных видов оплат. Программе предстояло научить терминалы считывать чиповые банковские карты, безопасно проверять ПИН-коды и обрабатывать платежи по QR-кодам через системы СБП и Oplati.by.
Наконец, необходимо было гарантировать защиту выручки от сбоев связи. Для этого мы спроектировали архитектуру, которая умеет переходить из работы через интернет в полностью автономный режим. Если сеть падает, система сохраняет транзакции во внутреннюю память устройства и автоматически отправляет их в банк сразу после восстановления соединения.
2.2 Решение
Создать единую программу для платёжных терминалов на первый взгляд кажется стандартной задачей. Но на практике разработчики сталкиваются с «зоопарком устройств» . Это значит, что в одной сети одновременно работают терминалы десятка разных производителей, и у каждого из них — своя версия ОС Android, свои вендорские библиотеки (SDK) и уникальные требования к работе экрана, принтера или считывателя карт. Из-за этого физически невозможно написать один шаблонный код, который сразу заработает везде.
Поскольку ключевой парк смарт-терминалов работает на базе Android, наша команда выбрала язык Kotlin и выстроила архитектурное решение вокруг трёх главных этапов:
Этап 1. Создание единого слоя поверх разного оборудования
Поскольку устройства работают по-разному, обычная команда «прочитать карту» на двух разных терминалах выглядит как два совершенно разных куска кода. Ситуация усложнялась тем, что производители часто не предоставляли полных технических инструкций.
Вместо того чтобы писать отдельную программу под каждую модель, мы разработали единый промежуточный слой. Он скрывает технические отличия устройств и переводит универсальные команды нашего приложения на язык конкретного терминала.
Из-за нехватки документации поведение касс приходилось изучать на практике. Мы собирали тестовые стенды, проводили реальные карты и фиксировали ошибки. Часть найденных недочетов мы оформляли в виде отчетов и отправляли самим производителям, чтобы они исправили уязвимости в своем оборудовании.
Этап 2. Внедрение строгой защиты данных
Для поддержки всех типов касс реализовали сложную механику проверки ПИН-кода через банк. В отличие от старых подходов, здесь пароль зашифровывается прямо на клавиатуре терминала и только потом уходит на проверку. Это потребовало от нас внедрить строгие схемы управления ключами и соблюсти международные стандарты безопасности (PCI PTS). Архитектура шифрования строилась с нулевым правом на ошибку, потому что любой неверно сформированный пакет данных приводил бы к моментальному отказу банка проводить платеж.
Этап 3. Разработка гибридного режима связи
Самым нестандартным решением стала архитектура, которая объединила два противоположных режима в одном приложении. Программе нужно было одновременно поддерживать современные операции через интернет (оплату по QR-кодам) и уметь работать при полном отключении мобильной сети, чтобы точки самообслуживания не теряли выручку.
Мы спроектировали систему, которая умеет незаметно переключаться между этими состояниями. Если связь есть, терминал штатно принимает QR-коды и связывается с банковскими центрами обработки данных (SmartVista, TUCAN). Если интернет пропадает, программа переходит в автономный режим. Она общается напрямую с чипом банковской карты, сохраняет подтвержденную оплату во внутреннюю память устройства и автоматически отправляет данные в банк, как только соединение восстанавливается.
Заключение
Платежное приложение можно назвать по-настоящему успешным только тогда, когда его работу никто не замечает. Человек просто прикладывает карту или сканирует код, слышит короткий звуковой сигнал, забирает чек и уходит. Для него весь процесс занимает ровно две секунды.
Но ценность нашего проекта для рынка заключается именно в том, что скрыто за этими секундами. Чтобы платеж безотказно прошел на пустой ночной заправке, в аппарате с кофе или на борту самолета, команда «Фабрики Кода» проделала масштабную инженерную работу. Мы связали воедино разрозненное оборудование множества брендов, внедрили строгие алгоритмы банковского шифрования и научили систему самостоятельно спасать транзакции при любых обрывах связи.
Этот кейс доказывает, что в 2026 году разработка кассовых программ перестает быть обычной технической поддержкой бизнеса. На фоне новых законов, растущих налогов и нестабильного интернета она становится главным инструментом защиты доходов. Мы с нуля создали надежную и отказоустойчивую платформу, которая берет на себя все проблемы инфраструктуры, оставляя заказчику самое главное — гарантированную выручку и уверенность в каждом платеже.
Главным итогом проекта стала передача бизнесу архитектуры, которая решила четыре ключевые коммерческие задачи:
Во-первых, сети самообслуживания получили независимость от производителей оборудования. Теперь компании могут свободно менять модели платежных терминалов, добавлять новые бренды или закупать более дешевые аппараты, не меняя при этом саму программу — всё это в условиях крайне нестабильных поставок оборудования.
Во-вторых, мы помогли бизнесу взять под контроль расходы на прием платежей. Благодаря тому, что система стабильно формирует QR-коды даже на точках со слабой связью, компании смогли массово перевести покупателей на этот способ расчетов, что позволило им платить банкам комиссию в размере 0,4–0,7% вместо 1,6–1,7%, которые уходили бы на обслуживание банковских карт с учетом новых налогов.
В-третьих, мы радикально сократили время и затраты на обновление программного обеспечения. Любые новые требования государства — например, обязательный переход на универсальный QR-код к 1 сентября 2026 года или будущее внедрение цифрового рубля — теперь разрабатываются один раз для единого приложения, а не переписываются с нуля под каждую из множества марок терминалов.
В итоге созданная отказоустойчивость напрямую защитила выручку компаний. Автоматический переход касс в автономный режим при падении интернета гарантирует, что ночная заправка не упустит клиента, а аппарат с едой не будет простаивать все выходные из-за ошибки связи.
Для конечного покупателя успех нашей работы выглядит как обычный звуковой сигнал и печать чека за пару секунд. Но именно за этой простотой скрывается сложная инженерная база, которая каждую минуту сохраняет бизнесу клиентов и прибыль.