Зачем банкам переписывать терминальные приложения на Android

Платежные терминалы работают с деньгами — любая уязвимость грозит убытками и репутационными рисками. Устаревший код, старые библиотеки или несовместимость с новыми протоколами (например, PCI DSS 4.0) делают систему мишенью для хакеров.

Переход на современный стек (Kotlin, Jetpack Compose, чистую архитектуру) позволяет внедрить актуальное шифрование данных и быстрее закрывать уязвимости через обновления.

Также клиенты хотят уже сейчас платить через QR, NFC и тд — но добавлять это в legacy-код сложно и дорого. Современное Android-приложение на MVVM + модульной архитектуре дает возможность «собирать» функционал как конструктор (например, подключить СБП за быстрее).

Наш опыт работы с приложениями для банковских терминалов

Заказчик

Клиент является провайдером платежных сервисов для банков и ритейла. Он занимается разработкой, внедрением и поддержкой ПО в области платежных технологий.

Цель

Стояла задача переписать приложение для платежных терминалов на Android

Процесс

Команда SmartexSoft выбрала чистую архитектуру, паттерн MVVM и Jetpack Compose поскольку этот стек обеспечивает четкое разделение обязанностей, улучшает тестируемость и гибкость кода.

Этот стек обеспечивает самодокументируемый код, который легко понять и поддерживать.

После тщательного исследования возможностей Jetpack Compose UI мы поняли, это технология подходит. В итоге достигли следующих преимуществ благодаря работе с этой технологией: гибкость при создании интерфейсов.

Мы смогли легко изменять внешний вид и поведение компонентов, добавлять новые функции в приложение в процессе.

Jetpack Compose оптимизирован для работы на мобильных устройствах, что обеспечивает высокую производительность приложений.Современная технология => в будущем будет легче поддерживать. Мы разработали адаптивный интерфейс под разные терминалы.

Особенность данного проекта заключалась в сложном окружении, необходимом для отладки и тестирования решений с вовлечением удаленных серверов и ограниченным доступом к ним. Несмотря на это, наши инженеры, благодаря хорошо налаженной коммуникации и взаимодействием с командой заказчика, смогли оперативно решать все вопросы, в том числе и с оперативными восстановлением связи тестовых терминалов с сервером.

Мы разработали интерфейс помощью Jetpack Compose UI App Development Toolkit. Наша команда разработала адаптивный интерфейс под разные терминалы.

Результат

В Android-приложении реализованы функции: оплаты, отмены транзакции, возврата, печати копии чека, печати отчёта, открытие/закрытие смены, проверка связи, обновление конфигурации и загрузка ключей.

Зачем банкам переписывать терминальные приложения на Android | Сетка — социальная сеть от hh.ru