Проверка имён пользователей с помощью сервиса Verification of Payee

Общая информация

В соответствии с постановлением Европейского союза Instant Payments Regulation (IPR) для проведения банковских переводов с использованием платёжной схемы SEPA в единой зоне платежей в евро (ЕЗПЕ) имена получателей средств должны проходить проверку с помощью сервиса Verification of Payee. Это постановление актуально для тех случаев, когда отправитель и получатель средств зарегистрированы в странах — членах ЕЗПЕ. В рамках такой проверки написание имени получателя средств, представленное со стороны мерчанта, должно сравниваться с написанием, зафиксированным на стороне банка для владельца указанного счёта, и уже по итогам проверки со стороны мерчанта должно приниматься решение о допустимости перевода средств.

При работе с платёжной платформой ecommpay проверка с помощью сервиса Verification of Payee обеспечивается через взаимодействие с сервисным провайдером и может быть актуальна для отдельных платёжных методов, таких как Выплаты на банковские счета в ЕЗПЕ (SEPA). В случае использования таких методов можно настраивать обработку результатов проверки на стороне веб-сервиса или на стороне платёжной платформы (подробнее далее). Также можно настраивать время, в течение которого информация о статусе проверки должна считаться действительной, а саму проверку можно не повторять в идентичных случаях (с такими парами пользователей и счетов, для которых есть действительный результат). По умолчанию это время составляет 10 суток.

Подключение и настройка работы с процедурой Verification of Payee выполняются через курирующего менеджера ecommpay, при этом использование проверок не влияет на расчёт комиссий за проведение платежей. С вопросами о возможностях и особенностях применения проверки Verification of Payee для конкретных платёжных методов можно обращаться к описаниям этих методов в настоящей документации и к специалистам технической поддержки ecommpay.

Варианты работы

Со стороны мерчанта в рамках каждого проекта взаимодействия с платформой можно выбирать и использовать один из допустимых вариантов работы с проверкой имён получателей средств.

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

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

Подключение и настройка

Чтобы подключить и настроить функциональность проверки имён пользователей, со стороны мерчанта необходимо:

  1. Согласовать подключение с курирующим менеджером ecommpay актуальность подключения и вариант использования процедуры, а также необходимость изменения срока действия результатов проверки (по умолчанию он составляет 10 суток) и необходимость тестирования функциональности.
  2. Если была согласована необходимость тестирования, получить от специалистов ecommpay уведомление о готовности к тестированию, проверить корректность работы с использованием процедуры и сообщить о готовности к запуску.
  3. Получить от специалистов ecommpay уведомление о подключении функциональности.

Используемые статусы

При работе с платёжной платформой ecommpay об итоговом состоянии каждой проверки Verification of Payee свидетельствует один из следующих статусов:

  • MATCH — фиксирует полное соответствие в написании имён имени получателя средств, указанного в запросе, и имени, зафиксированного на стороне банка для владельца указанного счёта.
  • CLOSE_MATCH — фиксирует частичное соответствие в написании имён имени получателя средств, указанного в запросе, и имени, зафиксированного на стороне банка для владельца указанного счёта.
  • NO_MATCH — фиксирует полное несоответствие в написании имён имени получателя средств, указанного в запросе, и имени, зафиксированного на стороне банка для владельца указанного счёта.
  • VERIFICATION_NOT_POSSIBLE — фиксирует невозможность выполнения проверки из-за ошибок на стороне сервисного провайдера.
  • VOP_ERROR — фиксирует невозможность выполнения проверки из-за ошибок при взаимодействии платформы и сервиса провайдера.

При этом интерпретация полного и частичного соответствия, как и полного несоответствия в написаниях имён обеспечивается в соответствии с постановлением IPR. Также можно отметить, что многие банки склонны отклонять операции в случаях со статусом проверки VERIFICATION_NOT_POSSIBLE даже при технической возможности выполнения таких операций на стороне платформы и низком уровне риска по другим критериям.

Обработка на стороне платформы

Алгоритмы

В рамках варианта с обработкой результатов проверки Verification of Payee на стороне платёжной платформы ecommpay допустимо выбрать и использовать один из следующих алгоритмов одобрения операций (с их последующим выполнением, когда статус проверки соответствует одному из одобренных).

  • Алгоритм 1 основан на следующих правилах:
    • статус MATCH указывает на возможность выполнения соответствующей операции;
    • статусы CLOSE_MATCH, NO_MATCH, VERIFICATION_NOT_POSSIBLE и VOP_ERROR указывают на невозможность выполнения соответствующей операции.
  • Алгоритм 2 основан на следующих правилах:
    • статусы MATCH и CLOSE_MATCH указывают на возможность выполнения соответствующей операции;
    • статусы NO_MATCH, VERIFICATION_NOT_POSSIBLE и VOP_ERROR указывают на невозможность выполнения соответствующей операции.
  • Алгоритм 3 основан на следующих правилах:
    • статусы MATCH, CLOSE_MATCH и VERIFICATION_NOT_POSSIBLE указывают на возможность выполнения соответствующей операции;
    • статусы NO_MATCH и VOP_ERROR указывают на невозможность выполнения соответствующей операции.
  • Алгоритм 4 основан на следующем правиле: все статусы, включая статус NO_MATCH и статусы с фиксацией невозможности проверки, указывают на возможность выполнения соответствующей операции.

Кратко эти правила можно представить в виде таблицы.

Статус Алгоритмы одобрения
1 2 3 4
MATCH + + + +
CLOSE_MATCH + + +
NO_MATCH +
VERIFICATION_NOT_POSSIBLE + +
VOP_ERROR +

Контроль результатов

Информацию о результате проверки Verification of Payee для любой из операций, выполняемой в рамках варианта с обработкой результатов на стороне платёжной платформы ecommpay, можно получать через итоговое оповещение о выполнении этой операции. Для оповещений в таких случаях используется типовой формат, описание которого представлено в статье Работа с оповещениями. При этом информация об итоговом статусе проверки указывается в параметрах объекта provider_extra_fields, а в случаях с отклонением операций дополнительно можно ориентироваться на итоговые коды их состояния, среди которых могут быть коды, связанные с результатами проверки:

  • 20450 — при отклонении операции из-за того, что проверку не удалось выполнить (для статуса VERIFICATION_NOT_POSSIBLE в алгоритмах 1–2 и статуса VOP_ERROR в алгоритмах 1–3);
  • 20451 — при отклонении операции из-за того, что статус выполненной проверки не соответствует одобряемому (для статуса CLOSE_MATCH в алгоритме 1 и статуса NO_MATCH в алгоритмах 1–3).

В следующем примере оповещение свидетельствует о том, что в рамках проекта 239 была проведена выплата в размере 10,00 EUR. В параметре vop_status объекта provider_extra_fields данных из этого оповещения указывается статус проверки CLOSE_MATCH.

Рис. 1. Пример данных из оповещения о проведении выплаты
{
        "provider_extra_fields": {
            "customer_name": "John Smit",
            "operation_id_in_ps": "TX55DE3DEFC161XT",
            "vop_status": "CLOSE_MATCH",
            "vop_message": "Reasons: NAME_MISMATCH; Details: The account details are a close match.; Matched: name: JOHN SMITH"
        },
        "customer": {
            "id": "1"
        },
        "account": {
            "number": "LV35HA******6833"
        },
        "project_id": 239,
        "payment": {
            "id": "Test payment 02042026-111",
            "type": "payout",
            "status": "success",
            "date": "2026-04-02T11:12:47+0000",
            "method": "world",
            "sum": {
                "amount": 1000,
                "currency": "EUR"
            },
            "description": "test payout"
        },
        "operation": {
            "sum_initial": {
                "amount": 1000,
                "currency": "EUR"
            },
            "sum_converted": {
                "amount": 1,
                "currency": "EUR"
            },
            "code": "0",
            "message": "Success",
            "provider": {
                "id": 16711,
                "payment_id": "P21132ZU06",
                "auth_code": "",
                "date": "2026-04-02T11:11:51+0000"
            },
            "id": 94413010223457,
            "type": "payout",
            "status": "success",
            "date": "2026-04-02T11:12:47+0000",
            "created_date": "2026-04-02T11:11:43+0000",
            "request_id": "7eee810762d6493a807f30094414"
        },
        "signature": "1wR1YgDoDlJppOdLzFOFK...Y4YonbWmspbFh7x1o1ut5PxxTIJfQ=="
    }

В следующем примере оповещение свидетельствует о том, что выплата была отклонена в связи с полным несоответствием имён, о чём свидетельствует статус NO_MATCH.

Рис. 2. Пример данных из оповещения об отклонении выплаты
{
        "provider_extra_fields": {
            "vop_status": "NO_MATCH",
            "vop_message": "Reasons: NAME_MISMATCH, ACCOUNT_MISMATCH; Details: The account and name do not match."
        },
        "customer": {
            "id": "1"
        },
        "account": {
            "number": "LV35HA******6833"
        },
        "project_id": 155543,
        "payment": {
            "id": "Test payment 02042026-115",
            "type": "payout",
            "status": "decline",
            "date": "2026-04-02T11:22:20+0000",
            "method": "world",
            "sum": {
                "amount": 1,
                "currency": "EUR"
            },
            "description": "test payout"
        },
        "operation": {
            "sum_initial": {
                "amount": 1,
                "currency": "EUR"
            },
            "sum_converted": {
                "amount": 1,
                "currency": "EUR"
            },
            "code": "20451",
            "message": "Payout or refund cannot be processed based on the Verification of Payee result",
            "provider": {
                "id": 16711,
                "payment_id": "",
                "auth_code": ""
            },
            "id": 43116010187149,
            "type": "payout",
            "status": "decline",
            "date": "2026-04-02T11:22:21+0000",
            "created_date": "2026-04-02T11:22:18+0000",
            "request_id": "231221"
        },
        "signature": "1wR1YgDoDlJppOdLzFOFK...Y4YonbWmspbFh7x1o1ut5PxxTIJfQ=="
    }

Обработка на стороне веб-сервиса

Схема работы

В рамках варианта с обработкой результатов проверки Verification of Payee на стороне веб-сервиса необходимо организовать дополнительные взаимодействия между веб-сервисом и платформой для каждой операции с процедурой проверки. Это включает в себя ряд шагов между приёмом заявки от пользователя на получение средств и инициированием соответствующей операции в платформе:

  1. Отправить запрос на проверку имени пользователя (с требуемыми параметрами и подписью) на рабочий URL ecommpay.
  2. Принять от платёжной платформы синхронный ответ с информацией об инициировании проверки.
  3. Спустя не менее чем 10 секунд отправить запрос на получение информации о результате проверки (с требуемыми параметрами и подписью) на рабочий URL ecommpay.
  4. Принять от платёжной платформы синхронный ответ с информацией о статусе проверки.

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

Общая схема взаимодействий при проверке имени получателя средств в рамках выплаты или возврата выглядит следующим образом.



Рис. 3. Проверка с обработкой результатов на стороне веб-сервиса. Описание шагов
  1. Пользователь на стороне веб-сервиса инициирует получение средств.
  2. От веб-сервиса на заданный URL ecommpay передаётся запрос на проверку имени пользователя через Gate.
  3. Запрос на проверку имени пользователя поступает в платёжную платформу ecommpay.
  4. В платёжной платформе выполняется обработка запроса с проверкой его корректности и инициированием запрошенной проверки.
  5. От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса, его обработке и инициировании проверки.
  6. От платёжной платформы к сервису провайдера отправляется запрос на проверку имени пользователя.
  7. В сервисе провайдера выполняется проверка имени пользователя.
  8. От сервиса провайдера к платёжной платформе передаётся информация о результате проверки.
  9. Спустя не менее чем 10 секунд после получения ответа об инициировании проверки от веб-сервиса на заданный URL ecommpay передаётся запрос на получение информации о проверке через Gate.
  10. Запрос на получение информации о проверке поступает в платёжную платформу ecommpay.
  11. В платёжной платформе выполняется обработка запроса с проверкой его корректности и поиском запрошенной информации.
  12. От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса, его корректности и информацией о статусе проверки.
  13. На стороне веб-сервиса выполняются обработка полученной информации и последующие действия исходя из статуса проверки, с информированием пользователя о статусе запрошенной им операции по получению средств.

Информация о форматах данных, используемых для запросов и ответов в рамках такого взаимодействия, представлена далее в этом разделе.

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

При формировании запросов на проверку имён пользователей необходимо учитывать следующее:

  1. Для инициирования каждой проверки должен использоваться отдельный POST-запрос к конечной точке /v2/verification-of-payee/create.
  2. В каждом запросе должны использоваться следующие объекты и параметры:
    • general — объект, содержащий основные идентификационные сведения запроса:
      • project_id — идентификатор проекта, полученный от ecommpay при интеграции;;
      • signature — подпись к запросу, составленная после указания всех целевых параметров (подробнее — в статье Работа с подписью к данным); (подробнее);
    • payment — объект, содержащий сведения о платеже:
      • currency — буквенный код валюты платежа в формате ISO-4217 alpha-3;
    • account — объект, содержащий сведения о банковском счёте получателя средств:
      • customer_name — полное имя или наименование владельца счёта;
      • number — номер счёта.
Рис. 4. Пример данных из запроса на проверку имени получателя средств
{
  "general": {
    "project_id": 12345,
    "signature": "PJkV8ej\/UQVVfBaNIipTv+AWoXW\/9MTO8yJA=="
  },
  "payment": {
    "currency": "EUR"
  },
  "account": {
    "customer_name": "John Doe",
    "number": "DOMESTIC_ACC_NUMBER_12345678"
  }
}

Формат ответа об инициировании проверки

Для ответов о результатах инициирования проверки имён пользователей используется типовой формат, описание которого представлено в статье Организация взаимодействия. При этом:

  • если проверка была инициирована, в объекте vop передаются следующие параметры:
    • id — идентификатор проверки, присвоенный на стороне провайдера;
    • status — промежуточный статус проверки со значением processing;
  • если проверка не была инициирована из-за ошибок на стороне провайдера или платформы, объект vop не используется.
Рис. 5. Пример данных из ответа об инициировании проверки имени пользователя
{
  "status": "success",
  "request_id": "3213123",
  "project_id": 12345,
  "vop": {
    "id": 777888,
    "status": "processing"
  }
}

Формат запроса на получение информации о результате проверки

При формировании запросов на получение информации о результатах проверки имён пользователей необходимо учитывать следующее:

  1. Для получения информации каждый раз должен использоваться отдельный POST-запрос к конечной точке /v2/verification-of-payee/result.
  2. В каждом запросе должны использоваться следующие объекты и параметры:
    • general — объект, содержащий основные идентификационные сведения запроса:
      • project_id — идентификатор проекта, полученный от ecommpay при интеграции;;
      • signature — подпись к запросу, составленная после указания всех целевых параметров (подробнее — в статье Работа с подписью к данным); (подробнее);
    • vop — объект, содержащий сведения об искомой проверке:
      • id — идентификатор проверки, полученный от ecommpay в ответе о её инициировании.
Рис. 6. Пример данных из запроса на получение информации о проверке имени пользователя
{
  "general": {
    "project_id": 12345,
    "signature": "PJkV8ej\/UQVVfBaNIipTv+AWoXW\/9MTO8yJb=="
  },
  "vop": {
    "id": 777888
  }
}

Формат ответа о результате проверки

Для ответов о результатах проверки имён пользователей используется типовой формат, описание которого представлено в статье Организация взаимодействия. При этом, в зависимости от ситуации, в объекте vop в таких ответах могут передаваться следующие параметры:

  • id — идентификатор искомой проверки;
  • status — индикатор состояния проверки, который может принимать одно из следующих значений:
    • processing — при отсутствии итогового статуса проверки со стороны сервисного провайдера;
    • completed — при получении итогового статуса проверки со стороны сервисного провайдера;
    • decline — при невозможности выполнения проверки из-за ошибок при взаимодействии платформы и сервиса провайдера;
  • result — итоговый статус проверки (подробнее; не включается в ответ, если в параметре status указано значение processing);
  • details — пояснения к итоговому статусу проверки со стороны сервисного провайдера (не включаются в ответ, если в параметре status указано значение processing или если в параметре result указано значение VOP_ERROR).

В случаях с итоговым статусом VOP_ERROR рекомендуется обращаться к специалистам технической поддержки ecommpay для уточнения информации о проверке и возможности её выполнения.

Рис. 7. Пример данных из ответа с информацией о результате проверки имени пользователя
{
  "general": {
    "project_id": 12345,
    "signature": "kUi2x9dKHAVNU0FYldOcZzUCwX6R\/ekpZhkIQg=="
  },
  "vop": {
    "id": 777888,
    "status": "completed",
    "result": "CLOSE_MATCH",
    "details": "Reasons: CLOSE_MATCH; Details: The account details match.; Matched: name: John Doe, accountType: personal account"
  }
}

Дополнительные материалы

При работе с проверками имён получателей могут быть полезны следующие материалы: