# Проверка имён пользователей с помощью сервиса Verification of Payee {#ru_verification_of_payee} статья о процедуре проверки имён пользователей при инициировании выплат через Gate на банковские счета с использованием платёжной схемы SEPA **На уровень выше:**[Вспомогательные процедуры](ru_gate_procedures.md) ## Общая информация {#ru_verification_of_payee_overview} В соответствии с постановлением Европейского союза [Instant Payments Regulation \(IPR\)](https://www.ecb.europa.eu/paym/retail/instant_payments/html/instant_payments_regulation.en.html) для проведения банковских переводов с использованием платёжной схемы [SEPA](https://www.ecb.europa.eu/paym/retail/sepa/html/index.en.html) в единой зоне платежей в евро \(ЕЗПЕ\) имена получателей средств должны проходить проверку с помощью сервиса Verification of Payee. Это постановление актуально для тех случаев, когда отправитель и получатель средств зарегистрированы в странах — членах ЕЗПЕ. В рамках такой проверки написание имени получателя средств, представленное со стороны мерчанта, должно сравниваться с написанием, зафиксированным на стороне банка для владельца указанного счёта, и уже по итогам проверки со стороны мерчанта должно приниматься решение о допустимости перевода средств. При работе с платёжной платформой Ecommpay проверка с помощью сервиса Verification of Payee обеспечивается через взаимодействие с сервисным провайдером и может быть актуальна для отдельных платёжных методов, таких как [Выплаты на банковские счета в ЕЗПЕ \(SEPA\)](pm_bankpayout_sepa.md#). В случае использования таких методов можно настраивать обработку результатов проверки на стороне веб-сервиса или на стороне платёжной платформы \(подробнее далее\). Также можно настраивать время, в течение которого информация о статусе проверки должна считаться действительной, а саму проверку можно не повторять в идентичных случаях \(с такими парами пользователей и счетов, для которых есть действительный результат\). По умолчанию это время составляет 10 суток. Подключение и настройка работы с процедурой Verification of Payee выполняются через курирующего менеджера Ecommpay, при этом использование проверок не влияет на расчёт комиссий за проведение платежей. С вопросами о возможностях и особенностях применения проверки Verification of Payee для конкретных платёжных методов можно обращаться к описаниям этих методов в настоящей документации и к специалистам технической поддержки Ecommpay. ## Варианты работы {#ru_verification_of_payee_workflow} Со стороны мерчанта в рамках каждого проекта взаимодействия с платформой можно выбирать и использовать один из допустимых вариантов работы с проверкой имён получателей средств. - В случае с обработкой результатов проверки на стороне платформы можно использовать один из предопределённых алгоритмоводобрения и отклонения операций, исходя из итогового статуса проверки. Такой вариант требует со стороны мерчанта лишь согласования подходящего алгоритма и позволяет учитывать результаты проверок через разбор итоговых оповещений о выполнении операций. - В случае с обработкой результатов проверки на стороне веб-сервиса можно использовать любые алгоритмы\(учитывая не только итоговый статус каждой проверки, но и, например, сумму инициируемой операции и показатели истории работы с конкретным пользователем\). Такой вариант требует со стороны мерчанта настройки и реализации соответствующих алгоритмов, а также организации дополнительных взаимодействий между веб-сервисом и платформой для каждой операции с процедурой проверки. Подключение любого из этих вариантов, как и переключения между ними, выполняются через курирующего менеджера Ecommpay.Подробнее процедура подключения и порядок работы с каждым из вариантов описаны далее, в соответствующих разделах настоящей статьи. ## Подключение и настройка {#ru_verification_of_payee_enable} Чтобы подключить и настроить функциональность проверки имён пользователей, со стороны мерчанта необходимо: 1. Согласовать с курирующим менеджером Ecommpayактуальность подключения и вариант использования процедуры, а также необходимость изменения срока действия результатов проверки \(по умолчанию он составляет 10 суток\) и необходимость тестирования функциональности. 2. Если была согласована необходимость тестирования, получить от специалистов Ecommpay уведомление о готовности к тестированию, проверить корректность работы с использованием процедуры и сообщить о готовности к запуску. 3. Получить от специалистов Ecommpay уведомление о подключении функциональности. ## Используемые статусы {#ru_verification_of_payee_statuses} При работе с платёжной платформой Ecommpay об итоговом состоянии каждой проверки Verification of Payee свидетельствует один из следующих статусов: - `MATCH` — фиксирует полное соответствие в написанииимени получателя средств, указанного в запросе, и имени, зафиксированного на стороне банка для владельца указанного счёта. - `CLOSE_MATCH` — фиксирует частичное соответствие в написанииимени получателя средств, указанного в запросе, и имени, зафиксированного на стороне банка для владельца указанного счёта. - `NO_MATCH` — фиксирует полное несоответствие в написанииимени получателя средств, указанного в запросе, и имени, зафиксированного на стороне банка для владельца указанного счёта. - `VERIFICATION_NOT_POSSIBLE` — фиксирует невозможность выполнения проверки из-за ошибок на стороне сервисного провайдера. - `VOP_ERROR` — фиксирует невозможность выполнения проверки из-за ошибок при взаимодействии платформы и сервиса провайдера. При этом интерпретация полного и частичного соответствия, как и полного несоответствия в написаниях имён обеспечивается в соответствии с постановлением IPR. Также можно отметить, что многие банки склонны отклонять операции в случаях со статусом проверки `VERIFICATION_NOT_POSSIBLE` даже при технической возможности выполнения таких операций на стороне платформы и низком уровне риска по другим критериям. ## Обработка на стороне платформы {#ru_verification_of_payee_platform} ### Алгоритмы {#section_glk_rld_w3c .section} В рамках варианта с обработкой результатов проверки 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`|–|–|–|+| ### Контроль результатов {#section_tyw_qld_w3c .section} Информацию о результате проверки Verification of Payee для любой из операций, выполняемой в рамках варианта с обработкой результатов на стороне платёжной платформы Ecommpay, можно получать через итоговое оповещение о выполнении этой операции. Для оповещений в таких случаях используется типовой формат, описание которого представлено в статье [Работа с оповещениями](ru_platform_callbacks.md#). При этом информация об итоговом статусе проверки указывается в параметрах объекта `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`. ``` {#codeblock_jvs_lwq_q3c .language-json} { "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`. ``` {#codeblock_vtb_nwq_q3c .language-json} { "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==" } ``` ## Обработка на стороне веб-сервиса {#ru_verification_of_payee_webservice} ### Схема работы {#section_zbr_tlz_r3c .section} В рамках варианта с обработкой результатов проверки Verification of Payee на стороне веб-сервиса необходимо организовать дополнительные взаимодействия между веб-сервисом и платформой для каждой операции с процедурой проверки. Это включает в себя ряд шагов между приёмом заявки от пользователя на получение средств и инициированием соответствующей операции в платформе: 1. Отправить запрос на проверку имени пользователя\(с требуемыми параметрами и подписью\) на рабочий URL Ecommpay. 2. Принять от платёжной платформы синхронный ответс информацией об инициировании проверки. 3. Спустя не менее чем 10 секунд отправить запрос на получение информации о результате проверки\(с требуемыми параметрами и подписью\) на рабочий URL Ecommpay. 4. Принять от платёжной платформы синхронный ответс информацией о статусе проверки. После такого взаимодействия в каждом случае на стороне веб-сервиса необходимо принять решение о допустимости операции\(в соответствии с реализованным внутренним алгоритмом\) и инициировать эту операцию в платформе либо уведомить пользователя об ошибке. Общая схема взаимодействий при проверке имени получателя средств в рамках выплаты или возврата выглядит следующим образом. ![](images/ru_vop_uml_gate.svg) 1. Пользователь на стороне веб-сервиса инициирует получение средств. 2. От веб-сервиса на заданный URL Ecommpay передаётся запрос на проверку имени пользователя через Gate. 3. Запрос на проверку имени пользователя поступает в платёжную платформу Ecommpay. 4. В платёжной платформе выполняется обработка запроса с проверкой его корректности и инициированием запрошенной проверки. 5. От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса, его обработке и инициировании проверки. 6. От платёжной платформы к сервису провайдера отправляется запрос на проверку имени пользователя. 7. В сервисе провайдера выполняется проверка имени пользователя. 8. От сервиса провайдера к платёжной платформе передаётся информация о результате проверки. 9. Спустя не менее чем 10 секунд после получения ответа об инициировании проверки от веб-сервиса на заданный URL Ecommpay передаётся запрос на получение информации о проверке через Gate. 10. Запрос на получение информации о проверке поступает в платёжную платформу Ecommpay. 11. В платёжной платформе выполняется обработка запроса с проверкой его корректности и поиском запрошенной информации. 12. От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса, его корректности и информацией о статусе проверки. 13. На стороне веб-сервиса выполняются обработка полученной информации и последующие действия исходя из статуса проверки, с информированием пользователя о статусе запрошенной им операции по получению средств. Информация о форматах данных, используемых для запросов и ответов в рамках такого взаимодействия, представлена далее в этом разделе. ### Формат запроса на проверку имени пользователя {#section_idv_5lz_r3c .section} При формировании запросов на проверку имён пользователей необходимо учитывать следующее: 1. Для инициирования каждой проверки должен использоваться отдельный POST-запрос к конечной точке [/v2/verification-of-payee/create](https://api-developers.ecommpay.com/api-specification/verification-of-payee-service/post-v2-verification-of-payee-create). 2. В каждом запросе должны использоваться следующие объекты и параметры: - `general` — объект, содержащий основные идентификационные сведения запроса: - `project_id` — идентификатор проекта, полученный от Ecommpay при интеграции; - `signature` — подпись к запросу, составленная после указания всех целевых параметров \(подробнее — в статье [Работа с подписью к данным](ru_platform_signature.md#)\); - `payment` — объект, содержащий сведения о платеже: - `currency` — буквенный код валюты платежав формате ISO-4217 alpha-3; - `account` — объект, содержащий сведения о банковском счёте получателя средств: - `customer_name` — полное имя или наименование владельца счёта; - `number` — номер счёта. ``` {#codeblock_dxp_wqx_jfc .language-json} { "general": { "project_id": 12345, "signature": "PJkV8ej\/UQVVfBaNIipTv+AWoXW\/9MTO8yJA==" }, "payment": { "currency": "EUR" }, "account": { "customer_name": "John Doe", "number": "DOMESTIC_ACC_NUMBER_12345678" } } ``` ### Формат ответа об инициировании проверки {#section_g2b_vlz_r3c .section} Для ответов о результатах инициирования проверки имён пользователей используется типовой формат, описание которого представлено в статье [Организация взаимодействия](ru_gate_interaction_organisation.md#). При этом: - если проверка была инициирована, в объекте `vop` передаются следующие параметры: - `id` — идентификатор проверки, присвоенный на стороне провайдера; - `status` — промежуточный статуспроверки со значением `processing`; - если проверка не была инициирована из-за ошибок на стороне провайдера или платформы, объект `vop` не используется. ``` {#codeblock_icd_1mb_g3c .language-json} { "status": "success", "request_id": "3213123", "project_id": 12345, "vop": { "id": 777888, "status": "processing" } } ``` ### Формат запроса на получение информации о результате проверки {#section_bxf_xlz_r3c .section} При формировании запросов на получение информации о результатах проверки имён пользователей необходимо учитывать следующее: 1. Для получения информации каждый раз должен использоваться отдельный POST-запрос к конечной точке [/v2/verification-of-payee/result](https://api-developers.ecommpay.com/api-specification/verification-of-payee-service/post-v2-verification-of-payee-result). 2. В каждом запросе должны использоваться следующие объекты и параметры: - `general` — объект, содержащий основные идентификационные сведения запроса: - `project_id` — идентификатор проекта, полученный от Ecommpay при интеграции; - `signature` — подпись к запросу, составленная после указания всех целевых параметров \(подробнее — в статье [Работа с подписью к данным](ru_platform_signature.md#)\); - `vop` — объект, содержащий сведения об искомой проверке: - `id` — идентификатор проверки, полученный от Ecommpay в ответе о её инициировании. ``` {#codeblock_oxy_ylz_r3c .language-json} { "general": { "project_id": 12345, "signature": "PJkV8ej\/UQVVfBaNIipTv+AWoXW\/9MTO8yJb==" }, "vop": { "id": 777888 } } ``` ### Формат ответа о результате проверки {#section_b3p_xlz_r3c .section} Для ответов о результатах проверки имён пользователей используется типовой формат, описание которого представлено в статье [Организация взаимодействия](ru_gate_interaction_organisation.md#). При этом, в зависимости от ситуации, в объекте `vop` в таких ответах могут передаваться следующие параметры: - `id` — идентификатор искомой проверки; - `status` — индикатор состояния проверки, который может принимать одно из следующих значений: - `processing` — при отсутствии итогового статуса проверкисо стороны сервисного провайдера; - `completed` — при получении итогового статуса проверкисо стороны сервисного провайдера; - `decline` — при невозможности выполнения проверкииз-за ошибок при взаимодействии платформы и сервиса провайдера; - `result` — итоговый статус проверки \([подробнее](ru_verification_of_payee.md#); не включается в ответ, если в параметре `status` указано значение `processing`\); - `details` — пояснения к итоговому статусу проверки со стороны сервисного провайдера \(не включаются в ответ, если в параметре `status` указано значение `processing` или если в параметре `result` указано значение `VOP_ERROR`\). В случаях с итоговым статусом `VOP_ERROR` рекомендуется обращаться к специалистам технической поддержки Ecommpay для уточнения информации о проверке и возможности её выполнения. ``` {#codeblock_m4y_gzq_23c .language-json} { "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" } } ``` ## Дополнительные материалы {#ru_verification_of_payee_add_info} При работе с проверками имён получателей могут быть полезны следующие материалы: - [Быстрый старт](ru_gate_quickstart.md#) и [Организация взаимодействия](ru_gate_interaction_organisation.md#)— о том, как организовать взаимодействие с платёжной платформой через Gate. - [Работа с подписью к данным](ru_platform_signature.md#)— о порядке создания и проверки подписи в программных запросах и оповещениях при взаимодействии с платёжной платформой. - [Работа с информацией об операциях](ru_platform_payment_info_codes.md)— о служебных кодах, используемых в платёжной платформе для фиксации информации о выполнении операций.