Андроид-приложение для банка. VIVA Деньги

Мобильное приложение для кредитования физических лиц с полной идентификацией личности без посещения офиса банка
Задача
Приложение VIVA Деньги - один из примеров перехода бизнеса из офлайна в онлайн на фоне карантина и ограничения работы розничных офисов. Дело в том, что займы без полной идентификации через интернет можно выдавать только на сумму до 15 000 рублей. Поэтому была поставлена задача разработать мобильное приложение, обеспечивающее полную идентификацию заемщика в соответствии с Федеральным законом N 115.
Длительность
6,5 месяца
Часы
3 939
Участники
UX/UI
Analyst
Android (4)
Camunda (2)
Back-end (2)
QA
Management
Технологии
Android, Kotlin, Coroutines, MVVM, gRPC, Jetpack, Koin, Room, Firebase API (FCM, Config, Analytics), Golang, Camunda, REST / JSON, HTTP client-server, gRPC client-server, Key-Value, NoSQL
Решение
Основной процесс, реализованный в приложении, — это процедура подтверждения личности клиента: селфи и загрузка документов. Этот процесс частично автоматизирован, но на определенном этапе в нем участвует оператор, который проверяет документы и вносит часть информации вручную. Это занимает 10-15 минут, иногда от клиента запрашивают дополнительную информацию.

Наши аналитики изучили процедуру и выяснили, что наиболее удобный формат ее прохождения для клиента — формат диалога вместо заполнения длинных форм. Со стороны банка в диалоге участвует информационная система, которая дает указания и подсказки клиенту относительно его последующих действий. По результатам рассмотрения заявки клиент получает PUSH-уведомление при появлении новых сообщений в чате. Во время ожидания рассмотрения заявки на кредит или регистрацию клиент продолжает работу с приложением и знакомится с его основными функциями и актуальными предложениями компании.
Результат
В январе 2021 г. был опубликован MVP продукта в Google Play, в феврале продукт был обновлен. До июня запланированы релизы новых версий и поддержка. Приложение реализовано только для Андроид, версия для iOS не запланирована.

Приложение позволяет клиентам VIVA Деньги полностью пройти процедуру KYC. После этого они могут получить займы, превышающие 15 000 руб. На текущий момент организация выдает займы до 100 000 рублей с высоким уровнем одобрения на срок до 12 месяцев. Это отличает VIVA Деньги от большинства их конкурентов и дает возможность расширить каналы дистрибуции.
Платежный шлюз

Для того чтобы вводить в приложение банковские карты напрямую, требуется сертификация по требованиям безопасности PCI DSS. Система клиента по этому стандарту не сертифицирована. Поэтому была использована сторонняя платежная система.

С помощью платежной системы реализован следующий процесс:

1. Когда пользователь привязывает свою банковскую карту, приложение перенаправляет его на веб-страницу, сгенерированную платежной системой (компонент браузера в мобильном приложении).
2. Пользователь вводит реквизиты своей банковской карты.
3. Данные сохраняются в платежной системе, а банку платежная система отвечает идентификатором этой карты (токеном). Все дальнейшие операции с картой идут с указанием токена.

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

Над платежным шлюзом работали 1 Go разработчик уровня Senior. Стек: Golang, REST/JSON, HTTP клиент-сервер, gRPC клиент-сервер, встраиваемое или внешнее хранилище данных Key-Val/NoSQL, сервис логов и очередей сообщений.


Процесс разработки

Мы работали по схеме T&M, однако сделали предварительный расчет. Так как объем задач увеличивался по ходу проекта, бюджет был расширен на 15% от первоначальной оценки.

Методология работы — Kanban. На специальной доске в Jira клиент формирует запрос на изменения. Запрос транслируется в функциональные требования на доске для разработчиков. Все входящие запросы получают приоритет в зависимости от срочности и важности. Затем задачи оцениваются по трудоемкости и профилю специалистов.

Из Jira задачи переносятся в Merlin Project. Там строится так называемый критический путь — самый длинный путь, который подлежит оптимизации. Цель оптимизации -- сокращать сроки релизов, выполняя задачи параллельно и равномерно распределяя нагрузку на команду. Например, можно убрать незначительную фичу и сократить срок релиза на неделю, высвободив востребованного специалиста. Поэтому на основании плана мы даем рекомендации заказчику, и он может изменить приоритеты, перенося фичи из релиза в релиз.

Таким образом, в ходе проекта есть этапы с задачами и календарными сроками их выполнения. Эти этапы заканчиваются релизами. Релиз может быть выпущен в любое время по желанию заказчика.
Архитектура решения

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

Совместно с клиентом спроектирован и реализован силами клиента интеграционный сервис — Mobile Integration Service, который предназначен для взаимодействия между разработанными нами сервисами и его банковской системой. Для нас это API его системы для двустороннего взаимодействия: загрузка всего контента из мобильного приложения и ответы от бизнес процессов идет через MIS.
Camunda BPM

Клиент выбрал решение по управлению процессами на базе Camunda. Благодаря этой BPM не нужно вносить дорогостоящие изменения в банковские системы и в мобильное приложение. Достаточно формализовать необходимую бизнес-логику в Camunda. Camunda инициирует процессы в системе банка в соответствии с заданными требованиями.

Мобильное приложение является фронтендом для следующих процессов:
— регистрация
— оформление заявки на кредит
— оформление сделки после одобрения заявки
— изменение пользовательских данных
— оплаты задолженности (в т.ч. частичное и досрочное погашение)
— реструктуризация задолженности

Эти процессы реализуются через Camunda как последовательность отдельных типовых задач. То есть сценарии у пользователей могут отличаться. У кого-то после загрузки фото паспорта приложение запросит сведения о месте работы, а у другого пользователя — видео-селфи. Такая гибкая архитектура позволяет без изменения мобильного приложения создавать бизнес-процессы из типовых элементов.

Camunda поддерживает язык Java, бизнес-процессы реализовывали 2 разработчика.
Начнем работу над вашим IT-проектом через 24 часа
Следующий кейс
Все кейсы
01.2020 - 05.2020
Управление парковками. Vessom
Система автоматизированного управления, повышающая доходность парковочной площадки
Веб-сервисы
Аутстафинг
Наши клиенты обращаются к нам за разработкой продуктов и за помощью в реализации их проектов, когда нужно взять на себя отдельный процесс
Услуги и цены
Партнерские отношения с клиентами — наша цель.
Часто наши клиенты приходят к нам с идеей, и мы помогаем ее развить, проводим исследования и предлагаем решение
О компании