Child pages
  • Распознавание платежей более чем 1 параметру
Skip to end of metadata
Go to start of metadata

Как происходит разпознавание платежей?

Платежи распознаються в зависимости прописаного в настройках получателя параметре PAYSYS_НАЗВАНИЕ-ПЛАТЕЖНОЙ-СИСТЕМЫ_ACCOUNT_KEY в Настройка > Платежные системы > Настройки контрагента, по умолчанию распознавание происходит по параметру UID. Его можно можно изменить на следующие параметры:

  • CONTRACT_ID
  • LOGIN
  • BILL_ID
  • PHONE
  • EMAIL
  • UID

Распознавание платежей в выписках происходит в зависимости от прописанного регулярного выражения в настройках получателя, или от данных, предоставляемых выпиской, происходит распознавание платежей.

Линейное распознавание

Линейное распознавание платежей по одному идентификатору. Чтобы сделать сделать распознавание по нескольким параметрам одновременно, нужно прописать параметр $conf{PAYSYS_USER_MULTI_CHECK} в файле config.pl.

Если прописано 2 индентификатора в параметре, то они будут проверяться в последовательности, в которой они прописаны, самый приоритетный будет той что прописан в получателя. Пример:

В получателя прописано UID, в параметре CONTRACT_ID и LOGIN, распознавание будет в следующей последовательности:

  • UID
  • CONTRACT_ID - номер договора, можно для абонентов и компании
  • LOGIN
  • TAX_NUMBER - ИНН, можно для абонентов и компании
  • EDRPOU - ЕРДПОУ только компании
ПараметрПримеры
$conf{PAYSYS_USER_MULTI_CHECK}

'CONTRACT_ID' или несколько через запятую 'CONTRACT_ID, LOGIN'

Многоуровневое распознавание (работа с выписками)

Включить многоуровневое распознавание выписок можно с помощью опции

$conf{PAYSYS_STATEMENTS_MULTI_CHECK}='paramenter:type:regex:extract_regex:type;paramenter2:type2:regex2:extract_regex2:type2;...paramenterN:typeN:regexN:extract_regexN:typeN;';
ПараметрЗначениеПример
paramenter

Параметр по которому будет распознавание платежа

UID
type
Тип данных, сейчас доступные INT и STR. Рекомендуется для выставления, если в базе данных тип intINT
regexРегулярное выражение для проверки реально ли данное значение подходит как идентификатор абонента\d{5,6}
extract_regexРегулярное выражение для обработки значения перед проверкой\d{5,6}
typeТип поля, 0 пользовательськое, 1 компания1


Все следующие параметры разделяются через знак ; Приоритет распознавания начинается с первого параметра, прописанного в опции, если найдено более двух абонентов с данным идентификатором идет поиск по следующему параметру. Поиск заканчивается пока не будет найден один абонент по данному идентификатору, если не будет найден данный абонент, то платеж будет в списке как не распознан.

Разделитель слов в выписке по умолчанию регулярное выражение \s|№|\/ . Если у Вас в выписке присутствуют другие символы, которые необходимо разделять и с ними уже сверять, то нужно прописать следующую опцию:

$conf{PAYSYS_STATEMENTS_MULTI_CHECK_REGEX}='\s';
  • No labels