11.9. fraudwall_alert. Получение и выгрузка результатов проверки платежей

Система FraudWall изначально создавалась как отдельно стоящая система, не влияющая на работу систем ДБО и АБС. Такой подход исключает возможность возникновения каких-либо сбоев в ДБО и АБС (например, из-за несовместимости FraudWall с обновлениями на ДБО и АБС).

С другой стороны, отсутствие в FraudWall механизма блокирования подозрительного платежного поручения может привести к тому, что пока один сотрудник банка будет дозваниваться до клиента, другой сотрудник уже успеет исполнить в АБС мошеннический документ.

Для исключения таких ситуаций, в FraudWall предусмотрен механизм интеграции через таблицу-справочник подозрительных платежей fraudwall_alert.

В зависимости от настроек сайта, FraudWall может выгружать в эту таблицу:

При интеграции по принципу "вопрос - ответ" (см. 11.2.2 «Анализ платежей из таблицы fraudwall_alert (по принципу "вопрос - ответ")»), в эту таблицу платежи помещает не FraudWall, а система банка (ДБО или АБС).

В любом случае, после проверки платежа для каждой записи в таблице fraudwall_alert система FraudWall всегда проставляет соответствующее непустое значение в поле status.

Рисунок 83. Механизм остановки подозрительного платежа

Механизм остановки подозрительного платежа

Примечание

Торможение подозрительных платежей через таблицу fraudwall_alert может быть реализовано как в АБС (в момент проводки документа), так и в ДБО (в момент выгрузки документа в АБС). Но для удобства по тексту будет написано, что торможение осуществляется в АБС.

Перед исполнением платежного документа, АБС должна проверить – есть ли данный документ в таблице fraudwall_alert, а если есть – какое значение имеет поле «статус». Например, если статус документа «подозрительный», АБС должна прекратить исполнение платежного документа и выдать соответствующее сообщение вида «документ подозрительный, требуется подтверждение клиентом».

После того, как сотрудник банка пообщался с клиентом, он выставляет подозрительному платежу соответствующий статус либо в интерфейсе АБС, либо в интерфейсе FraudWall - это приводит к тому, что в таблице fraudwall_alert меняется значение поля "статус". Поэтому, при повторном вызове операции исполнения платежного документа, АБС уже не найдет «подозрительный» статус для данного документа, поэтому позволит его исполнить.

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

fraudwall_alert является интеграционной таблицей и используется в следующих случаях:

11.9.1. Статусы платежа

Примечание

Статус в таблице fraudwall_alert может быть изменен как системой FraudWall, так и системой АБС или ДБО (для удобства по тексту будет написано, что статус выставляет АБС).

Каждой записи в таблице fraudwall_alert соответствует статус, который может принимать одно из следующих значений:

  • S (статус выставляется FraudWall) - платеж является подозрительным и его нельзя исполнять

  • F (статус выставляется АБС) - документ является мошенническим, в интерфейсе АБС сотрудник банка выставил статус "мошеннический" и АБС меняет статус на «F», а FraudWall еще не знает об этом

  • f (статус выставляется FraudWall) - документ является мошенническим, FraudWall знает об этом (либо он поменял статус "F" на "f" при обучении, либо статус изначально был выставлен в интерфейсе FraudWall)

  • G (статус выставляется АБС) - клиент подтвердил, что платеж не является мошенническим, он исполнен в АБС, и АБС меняет статус документа на "G", а FraudWall еще не знает об этом

  • g (статус выставляется FraudWall) - исполненный в АБС платеж не является мошенническим, FraudWall знает об этом (либо он поменял статус "G" на "g" при обучении, либо статус изначально был выставлен в интерфейсе FraudWall)

  • R (статус выставляется АБС) - клиент подтвердил, что платеж не является мошенническим, но по каким-либо причинам платежу было отказано в исполнении (например, нет средств на счету клиента, документ отозван и т.д.). АБС меняет статус документа на "R", а FraudWall еще не знает об этом

  • r (статус выставляется FraudWall) - отказанный в исполнении платеж не является мошенническим, FraudWall знает об этом (либо он поменял статус "R" на "r" при обучении, либо статус изначально был выставлен в интерфейсе FraudWall)

  • X (статус выставляется АБС) - система FraudWall должна проверить этот документ (см. 11.2.2 «Анализ платежей из таблицы fraudwall_alert (по принципу "вопрос - ответ")»).

  • J (статус выставляется АБС) – сотрудник банка при работе в АБС посчитал, что платеж должен быть остановлен по причинам ПОД/ФТ (или по иным причинам, не связанным с подозрением на кражу средств (например, визуальная проверка целевого использования кредитных средств и т.д.)). В дальнейшем работа с этим документом должна осуществляться только в интерфейсе FraudWall.

  • j (статус выставляется FraudWall) – платеж остановлен по причинам ПОД/ФТ (или по иным причинам, не связанным с подозрением на кражу средств (например, визуальная проверка целевого использования кредитных средств и т.д.)). Этот статус можно поменять только в интерфейсе системы FraudWall и он не может быть изменен в интерфейсе АБС, т.е. платежи со статусом "j" не могут быть проведены в АБС.

11.9.2. Рекомендации по созданию таблицы fraudwall_alert

Примечание

Примеры SQL-команд для создания таблицы под разные СУБД находятся в директории /usr/share/doc/fraudwall на сервере FraudWall.

11.9.2.1. Где создается таблица

На стороне базы данных системы банка (АБС или ДБО - в зависимости от того, где будет реализован механизм остановки подозрительных платежей) необходимо выполнить следующие операции:

  • создать пользователя, под которым FraudWall будет подключаться к базе данных

  • создать таблицу fraudwall_alert, владельцем которого является созданный пользователь

  • предоставить пользователю, под которым работает приложение АБС или ДБО, доступ с правом SELECT, UPDATE на таблицу fraudwall_alert

  • создать индексы (при необходимости), ускоряющие работу запросов

11.9.2.2. Индексы по таблице

Индексы по таблице fraudwall_alert, рекомендуемые к созданию:

  • неуникальный по полю docid

  • неуникальный по полю dboid или absid (в зависимости от того, какое поле создано)

  • неуникальный по полю status

  • неуникальный одновременно по нескольким полям from_account, to_account, amount

11.9.2.3. Возможность добавления собственных полей

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

11.9.3. Описание полей таблицы fraudwall_alert

Внимание

В описании указана минимальная длина каждого поля таблицы fraudwall_alert, которую ожидает FraudWall. Если в анализируемой системе соответствующее поле имеет бОльшую длину, при создании таблицы fraudwall_alert нужно создавать поле также бОльшей длины.

Таблица 26. Перечень полей таблицы fraudwall_alert

Поле Формат Описание
docid текст, 32 символа

Уникальный ID документа, формируемый системой FraudWall для служебных целей

Внимание

Это поле заполняет только FraudWall. Если документ помещается в таблицу fraudwall_alert системой банка, значение должно быть всегда NULL.

Внимание

Это поле не имеет отношения к полю DOCID из VIEW fraudwall_doc. См. также поле dboid таблицы fraudwall_alert

dboid текст, 32 символа

ID документа в системе ДБО, NULL если не известно

Внимание

Это поле создается только если анализируемая база данных - база ДБО. Если анализируется база АБС, поле создавать не нужно.

absid текст или число

ID документа в системе АБС, NULL если не известно

Внимание

Это поле создается только если анализируемая база данных - база АБС. Если анализируется база ДБО, поле создавать не нужно.

siteid текст, 32 символа

ID сайта в конфигурации системы FraudWall, через который был получен подозрительный документ

Внимание

Это поле заполняет только FraudWall. Если документ помещается в таблицу fraudwall_alert системой банка, значение должно быть всегда NULL.

updated ДАТА ВРЕМЯ

Дата и время создания или обновления записи

Примечание

Это поле заполняется как системой FraudWall, так и системами банка

docnumber текст, 9 символов Поле документа «Номер документа»
docdate текст, 10 символов Поле документа «Дата документа» в формате ДД.ММ.ГГГГ
from_name текст, 4000 символов Поле документа «Наименование плательщика»
from_inn текст, 12 символов Поле документа «ИНН плательщика»
from_account текст, 20 символов Поле документа «расчетный счет плательщика»
from_bic текст, 9 символов Поле документа «БИК банка плательщика»
from_city текст, 1024 символа Город, к которому относится банк плательщика, например, «МОСКВА», «БАРНАУЛ» и т.д.
from_bank текст, 4000 символа Поле документа «Наименование банка плательщика»
to_name текст, 4000 символов Поле документа «Наименование получателя»
to_inn текст, 12 символов Поле документа «ИНН получателя»
to_account текст, 20 символов Поле документа «расчетный счет получателя»
to_bic текст, 9 символов Поле документа «БИК банка получателя»
to_city текст, 1024 символа Город, к которому относится банк получателя, например, «МОСКВА», «БАРНАУЛ» и т.д.
to_bank текст, 4000 символа Поле документа «Наименование банка получателя»
purpose текст, 4000 символа Поле документа «Назначение платежа»
speedy число Значение 1 соответствует платежу с признаком "срочно", остальные значения (NULL, 0) - обычный платеж
currency текст или число

3-х буквенный или 3-х числовой код валюты платежа

Примечание

Это поле заполняет только анализируемая система.

amount число с 2 знаками после запятой

Поле документа «Сумма платежа» (в валюте currency)

Примечание

При отсутствии или пустом значении поля currency валюта платежа берется из 20-значного счета получателя, а при его отсутствии - из 20-значного счета плательщика

amountrub число с 2 знаками после запятой

Сумма платежа в рублевом эквиваленте

balance число

Сумма доступного остатка на счете плательщика в валюте счета плательщика

Примечание

Это поле заполняет только анализируемая система. Если это поле отсутствует, FraudWall получает доступный остаток на счете дополнительным запросом из VIEW fraudwall_balance

balancerub число

Сумма доступного остатка на счете плательщика в рублевом эквиваленте

Примечание

Это поле заполняет только анализируемая система. Если это поле отсутствует, FraudWall получает доступный остаток на счете дополнительным запросом из VIEW fraudwall_balance

status текст, 1 символ

Статус документа (см. 11.9.1 «Статусы платежа»).

Внимание

Если в базе данных Microsoft SQL Server, в которой создана эта таблица, установлен режим поиска без учета регистра, при создании таблицы fraudwall_alert для данного поля нужно явно указать, что регистр учитывается, указав для поля опцию COLLATE Cyrillic_General_CS_AS

Внимание

Если документ в таблицу fraudwall_alert помещает АБС или ДБО, значение должно быть всегда X или J.

showtext текст, 4000 символов

Текст - комментарий, который формирует FraudWall для отображения в интерфейсе АБС при открытии данного подозрительного документа

Примечание

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

reason текст, 4000 символов Текст комментария, который импортируется в FraudWall при получении обновленного статуса из данной таблицы
from_id текст или число

ID клиента - владельца счета плательщика в анализируемой системе или NULL, если не известен

Примечание

Размерность и тип поля выбираются исходя из соответствующих типов полей в базе АБС или ДБО, т.к. FraudWall обрабатывает это поле как текст неограниченной длины.

to_id текст или число

ID клиента - владельца счета получателя в анализируемой системе или NULL, если не известен

Примечание

Размерность и тип поля выбираются исходя из соответствующих типов полей в базе АБС или ДБО, т.к. FraudWall обрабатывает это поле как текст неограниченной длины.

from_operid текст или число

ID сотрудника банка в системе АБС, который создал данный платеж (если платеж был создан не клиентом, а сотрудником банка в АБС), NULL в остальных случаях

Примечание

Это поле является опциональным (т.е. может отсутствовать) и оно создается только если анализируемая база данных - база АБС

Примечание

Размерность и тип поля выбираются исходя из соответствующих типов полей в базе АБС, т.к. FraudWall обрабатывает это поле как текст неограниченной длины.

from_oper текст

Фамилия Имя Отчество сотрудника банка в системе АБС, который создал данный платеж (если платеж был создан не клиентом, а сотрудником банка в АБС), NULL в остальных случаях

Примечание

Это поле является опциональным (т.е. может отсутствовать) и оно создается только если анализируемая база данных - база АБС

Примечание

Размерность и тип поля выбираются исходя из соответствующих типов полей в базе АБС, т.к. FraudWall обрабатывает это поле как текст неограниченной длины.

ip текст IP адрес компьютера клиента банка в сети Интернет, с которого была работа с документом. Если неизвестно, можно возвращать пустую строку
device текст

строка, содержащая информацию об идентификаторах устройства клиента, с которого была работа с документом (например, перечень обнаруженных MAC-адресов, IMEI и т.д.). Если неизвестно, можно возвращать пустую строку.

Наименование идентификаторов: mac - MAC-адрес сетевой карты, appid - уникальный ID моб. приложения на моб. устройстве, serial-number - уникальный серийный номер моб. аппарата, imei - IMEI-номер моб. устройства, imsi - IMSI-номер SIM-карты, iccid - уникальный идентификационный номер SIM-карты в международном формате. Если у Вашей системы ДБО есть также свой цифровой отпечаток устройства клиента, необходимо сообщить об этом нам, м.б. выделено уникальное наименование идентификатора.

Примечание

Пример такой строки:

mac="00:11:22:33:44:55" mac="00:11:22:33:44:66" imei="123456789012345"


11.9.4. Получение платежей для анализа

Назначение:

Данный запрос получает перечень платежей, подлежащих анализу системой FraudWall (только в режиме интеграции, основанной на анализа платежей в таблице fraudwall_alert).

Когда выполняется запрос:

Запрос выполняется только если в свойствах сайта указан режим "анализ платежей в таблице fraudwall_alert".

Период опроса указывается в свойствах сайта в параметре "Периодичность поиска платежей в базе данных" и составляет обычно раз в 5-30 секунд.

Если предыдущий результат выполнения запроса содержал один или более платеж для анализа, следующий запрос будет с задержкой 0,1 секунды.

Входные параметры для запроса:

status = 'X' ИЛИ (status = 'J' И docid IS NULL)

Если fraudwall_alert содержит dboid (а не absid), то:

И dboid IS NOT NULL

Если fraudwall_alert содержит absid (а не dboid), то:

И absid IS NOT NULL

Результат выполнения запроса:

Возвращает одну или массив структур fraudwall_alert, содержащих перечень платежей для проверки системой FraudWall, отсортированных последовательно по полям amount, docnumber, docdate, purpose, updated.

11.9.5. Выгрузка платежа со статусом проверки

Назначение:

Данный запрос выгружает в таблицу fraudwall_alert реквизита платежа вместе с полем status, соответствующего результату проверки платежа в FraudWall (только в режиме интеграции, основанной на анализа платежей в VIEW fraudwall_doc или при анализе трафика).

Когда выполняется запрос:

Запрос выполняется только если в свойствах сайта указан режим "анализ платежей в VIEW fraudwall_doc" либо "анализ трафика".

Событие, по которому осуществляется выгрузка платежей в таблицу fraudwall_alert, зависит от свойства сайта "Какие платежи выгружать в базу данных АБС" - либо только подозрительные, либо все (подозрительные и неподозрительные).

Если платеж подлежит выгрузке, он выгружается в таблицу fraudwall_alert сразу после его обнаружения в VIEW fraudwall_doc или в трафике.

Входные параметры для запроса:

значение полей docid, siteid, updated, docnumber, docdate, from_name, from_inn, from_account, from_bic, from_city, from_bank, to_name, to_inn, to_account, to_bic, to_city, to_bank, purpose, amount, status

Результат выполнения запроса:

Добавляет одну запись в таблицу fraudwall_alert, содержащую указанные поля.

11.9.6. Обновление статуса платежа в таблице fraudwall_alert на основе ID документа в АБС или ДБО

Назначение:

Обновляет значение поля status таблицы fraudwall_alert после проверки платежа

Когда выполняется запрос:

Сразу после проверки платежа системой FraudWall.

Входные параметры для запроса:

status = новый статус

Если fraudwall_alert содержит dboid (а не absid), то:

ЕСЛИ dboid=ID документа в ДБО

Если fraudwall_alert содержит absid (а не dboid), то:

ЕСЛИ absid=ID документа в АБС

Результат выполнения запроса:

В таблице fraudwall_alert для записи с заданными критериями отбора значение поля status выставлено как заданное значение, поле updated выставлено как текущее время на стороне сервера баз данных.

11.9.7. Обновление статуса платежа в таблице fraudwall_alert на основе ID документа в FraudWall

Назначение:

Обновляет значение поля status таблицы fraudwall_alert после изменения статуса платежа в интерфейсе FraudWall

Когда выполняется запрос:

Сразу после изменения статуса платежа в интерфейсе FraudWall.

Входные параметры для запроса:

status = новый статус
reason = комментарий, указанный в интерфейсе FraudWall
showtext = текст
ЕСЛИ docid=ID документа в FraudWall

В таблице fraudwall_alert для записи с заданными критериями отбора значение поле updated выставлено как текущее время на стороне сервера баз данных, полей status, reason и showtext выставлены в соответствии со входными параметрами.

11.9.8. Обновление значения docid платежа в таблице fraudwall_alert

Назначение:

В режиме анализа платежей в таблице fraudwall_alert выставляет значение docid проверяемой записи

Когда выполняется запрос:

Сразу после проверки платежа.

Входные параметры для запроса:

docid = ID документа в FraudWall

Если fraudwall_alert содержит dboid (а не absid), то:

ЕСЛИ dboid=ID документа в ДБО

Если fraudwall_alert содержит absid (а не dboid), то:

ЕСЛИ absid=ID документа в АБС

Результат выполнения запроса:

Обновлено значение поля docid в таблице fraudwall_alert для документа с заданными критериями отбора

11.9.9. Обновление значения showtext платежа в таблице fraudwall_alert

Назначение:

Если в таблице fraudwall_alert создано опциональное поле showtext, в него выгружается либо перечень сработавших правил, либо краткий комментарий-инструкция для сотрудника банка.

Когда выполняется запрос:

Сразу после проверки платежа или изменения статуса по платежу в интерфейсе FraudWall.

Входные параметры для запроса:

showtext = текст

Если fraudwall_alert содержит dboid (а не absid), то:

ЕСЛИ dboid=ID документа в ДБО

Если fraudwall_alert содержит absid (а не dboid), то:

ЕСЛИ absid=ID документа в АБС

Результат выполнения запроса:

Обновлено значение поля showtext в таблице fraudwall_alert для документа с заданными критериями отбора

11.9.10. Получение списка документов для импорта из fraudwall_alert статуса, выставленного АБС

Назначение:

Если в АБС реализована возможность выставления статуса платежу, вызвавшему подозрение, FraudWall может импортировать данный статус.

Когда выполняется запрос:

Примерно раз в 5 минут.

Входные параметры для запроса:

status = импортируемый статус (одно из значений F, G, R, J)

Результат выполнения запроса:

Возвращает значение одно или несколько значений docid (ID документа в FraudWall), соответствующих искомому статусу

11.9.11. Импорт статуса и комментария из fraudwall_alert, выставленного АБС

Назначение:

Если есть документы для импорта статуса (см. 11.9.10 «Получение списка документов для импорта из fraudwall_alert статуса, выставленного АБС» ), FraudWall по каждому документу получает статус и комментарий, выставленный со стороны АБС

Когда выполняется запрос:

Для каждого документа, статус которого необходимо импортировать

Входные параметры для запроса:

docid = ID документа в FraudWall

Результат выполнения запроса:

Возвращает значение status и reason, соответствующих критериям поиска