Go to file
2022-02-22 08:11:39 +00:00
.github/workflows TECHDEBT-40: bump testcontainers-annotations 2022-01-15 20:46:59 +03:00
doc JD-607: Added readme (#2) 2021-09-14 11:17:30 +03:00
src TECHDEBT-40: bump deps, fix tests 2022-01-17 13:01:50 +03:00
.gitignore Initial commit 2021-08-06 15:49:34 +03:00
LICENSE Update file(s) from valitydev/.github 2022-02-22 08:11:39 +00:00
pom.xml TECHDEBT-40: bump deps, fix tests 2022-01-17 13:01:50 +03:00
README.md JD-607: Added readme (#2) 2021-09-14 11:17:30 +03:00

trusted-tokens-manager

trusted-tokens-manager - сервис, предназначенный для определения вторичного трафика.

Сервис обладает следующим функционалом:

  • Сбор и хранение информации о платежах и выплатах по токенам

  • Обработка запросов от антифрода для проверки, входит ли токен в список доверенных

  • Обработка запросов от антифрода, сигнализирующих о необходимости формирования нового шаблона с условиями для определения доверенных токенов

Описание работы сервиса

Сервис читает из кафки события с информацией о платежах и выплатах и заполняет на их основе kv storage, где key - токен карты, value - CardTokenData: набор данных по сумме и количеству операций по платежам и количеству по выплатам за последние три года. Данные группируются по валютам и годам. По каждому году данные группируются по месяцам.

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

Взаимодействие с kafka:

Сервис читает из кафки события с информацией о платежах и выплатах. Для платежей выбирает события captured, для выплат - succeeded. При получении необходимой операции сервис запрашивает в хранилище CardTokenData по токену карты. При получении CardTokenData сервис добавляет сумму и количество платежей для текущего года и месяца на сумму операции. При необходимости удаляет данные старше трех лет и сохраняет обновленные данные по токену в хранилище.

Общая схема взаимодействия: kafka-trusted-tokens.svg

Взаимодействие с fraud

При необходимости проверки, входит ли токен в список доверенных фрод отправляет запрос в сервис c токеном, по которому необходимо узнать результат и ConditionTemplate, по которому будет определяться, является ли токен доверенным. При получении запроса на проверку сервис запрашивает в базе CardTokenData и сопоставляет подходят ли данные CardTokenData под условия ConditionTemplate.

В сервисе предусмотрена возможность предсохранения ConditionTemplate: фрод может передать в сервис ConditionTemplateRequest, содержащий название шаблона и ConditionTemplate. Сервис сохранит ConditionTemplate в хранилище, где key будет название шаблона, value - ConditionTemplate. Впоследствии для проверки вхождения токена в список разрешенных фрод сможет присылать токен и название шаблона.

Общая схема взаимодействия: handler-trusted-tokens.svg

Протокол взаимодействия описан тут.