Развитие сервиса по кредитным операциям для финтех-проекта
Приняли участие в развитии сервиса, чтобы сделать его удобнее для пользователей, повысить их лояльность и сократить операционные расходы.
Клиент
Современный финтех-проект, занимающийся подбором кредитной организации и оформлением кредитного договора для покупателя товаров и услуг.
Задача
Бизнес-задачи
-
Потенциальный рост пользовательской лояльности.
-
Улучшение пользовательского опыта и удовлетворенности клиентов.
-
Получение и передача информации о транзакциях от платежных агрегаторов в финансовые организации.
-
Сокращение издержек на отправку SMS-кодов для авторизации в сервисе.
Технические задачи
Чтобы повысить удобство пользования сервисом и уровень удовлетворенности клиентов, решили разработать функцию оплаты с использованием ранее сохраненных карт.
Для обмена данными о транзакциях требовалось сохранить XML уведомления (Callback) от платежного агрегатора в системах заказчика и настроить экспорт данных в финансовые учреждения.
С целью снижения операционных расходов было необходимо заменить действующую систему авторизации через SMS коды на вход по постоянному код паролю.
Задачи разработки
-
Подготовка БД (PostgreSQL)
-
Организация хранения банковских идентификационных номеров (бинов) карт и логотипов банков-эмитентов.
-
Доработка логики сервисов: создание новых и доработка существующих методов; создание новых сценариев в оркестраторе
-
Разработка прототипов и доработка интерфейсов на их основе
-
Доработка интеграции с процессинговым центром
-
Создание интеграции с нуля: единый сервис интеграций с банками
-
Реализация кэша (Redis)
-
Хранение токенов платежных карт
-
Развертывание Kafka
-
Репликация данных в DWH
-
Исполнение требований ИБ
-
Доработка согласия на обработку персональных данных
-
Сохранение истории операций
Решение
В рамках улучшения пользовательского опыта разработали следующую гипотезу: без возможности сохранять платежные реквизиты, постоянные клиенты вынуждены заново вводить данные карты при каждом платеже.
Это замедляет процесс оплаты и может приводить к раздражению пользователей, увеличению количества ошибок ввода и потере конкурентоспособности сервисом.
Возможность сохранения данных карты существенно повысит удобство сервиса.
Клиенты смогут оплачивать заказы быстрее и без ввода реквизитов — это улучшит пользовательский опыт и удовлетворенность.
Бизнес-требования к функциональности, которые мы собрали:
-
У клиента должна быть возможность выбора карты, которой он хочет оплатить.
-
Клиент может добавить новую карту оплаты, если требуется.
-
Клиент может добавить несколько карт, ограничений на количество добавляемых карт нет.
-
Клиент может удалить ранее сохраненную карту.
-
Клиент может произвести оплату картой без ее сохранения.
-
Система всегда должна запрашивать токен платежной карты клиента у процессингового центра.
-
Чекбокс сохранения карты необходимо показывать клиенту только при первичной оплате (если у него нет ранее сохраненных карт).
-
Чекбокс сохранения карты клиента по умолчанию предустановлен.
-
Система отображает логотип банка на экранной форме, где можно просматривать свои доступные карты.
Механизм реализовали следующим образом: токен карты клиента сохраняется при первом успешном платеже. При повторных оплатах предоставляется возможность оплачивать ранее сохраненной картой (можно выбрать из списка).
Реализация механизма предусматривала возможность использовать сохраненную карту и в других сервисах заказчика.
Для передачи информации о транзакциях в финансовые организации решили следующие задачи:
-
реализовали процесс получения Callback от процессингового центра;
-
реализовали механизм обогащения полученных Callback дополнительными атрибутами, необходимыми для дальнейшей работы;
-
организовали сохранение платежных данных из Callback;
-
обеспечили репликацию данных в DWH;
-
реализовали механизм отправки Callback об операции в финансовые организации (банки).
Это позволило сохранять точную информацию о датах, суммах и статусах платежей в сервисах заказчика, реализовать единую ссылку для оплаты кредитов, полученных пользователями в сервисе.
Для сокращения издержек на отправку SMS-сообщений изменили текущую систему авторизации пользователей на авторизацию по постоянному коду-паролю.
Что сделали для решения задачи
-
Обеспечили безопасное хранение паролей пользователей.
-
Разработали и реализовали сценарии блокировок при некорректных действиях пользователей.
-
Разработали и реализовали логику проверки, сохранения и изменения паролей.
-
Реализовали логику регистрации новых пользователей и обновления паролей для текущих клиентов, проверили наличие согласий на обработку персональных данных.
Результат
Реализовали новый функционал сервиса, позволяющий клиенту повторно использовать банковскую карту в сервисах заказчика — без ввода платежных данных.
Механизм использования Callback для передачи данных о транзакциях подготовил базу для дальнейшего развития функциональности сервиса. Он нацелен на улучшение пользовательского опыта и повышения лояльности. Например: формирование графиков и истории платежей, рассылка уведомлений об успешных оплатах, формирование реестра платежей для банков без участия процессингового центра.
Новая логика авторизации сократила операционные издержки сервиса на отправку СМС.
Технологии
- AngularJS
- Golang
- Camunda
- PostgreSQL
- Redis
- S-Terra
- Apache Kafka
- Ingress
- Apache Airflow
- DWH