Работа через Gate API
Общая информация
Для использования функциональности выплат на счета юридических лиц в Gate API доступны следующие конечные точки:
- /v2/recipient-account/list — для получения данных из карточек партнёров;
- /v2/recipient-account/create — для создания карточки партнёра — получателя выплаты;
- /v2/recipient-account/update — для изменения данных в черновике карточки партнёра;
- /v2/recipient-account/send-for-approval — для отправки карточки партнёра на рассмотрение в ecommpay;
- /v2/recipient-account/delete — для удаления карточки партнёра;
- /v2/payment/remittance/external — для отправки запроса на выплату.
Запросы категории recipient-account
для работы с данными о получателях выплат выполняются в рамках синхронной схемы взаимодействия, а запросы категории remittance
на создание платёжных поручений на выплаты — в рамках асинхронной. Информация о работе по этим схемам представлена в статье Организация взаимодействия, а информация о формировании подписи — в статье Работа с подписью.
В этом разделе описаны особенности запросов к указанным конечным точкам.
Получение данных о партнёрах
Для получения данных из карточек партнёров следует отправлять запросы к конечной точке /v2/recipient-account/list. В этих запросах должны указываться параметры project_id
(идентификатор проекта, полученный при интеграции) и signature
(подпись). В ответах на такие запросы содержатся сведения из всех имеющихся карточек партнёров в соответствии с моделью RecipientAccount.
Для фильтрации данных карточек с учётом их идентификаторов, присвоенных статусов, а также валют платежей используются массивы id
, status
и currency
. По умолчанию, если в запросе не указаны эти массивы, в ответе отправляются данные из всех имеющихся карточек партнёров. В качестве элементов массивов id
, status
и currency
следует указывать идентификаторы карточек, по которым требуется информация, а также все требуемые типы статусов и валют соответственно, через запятую с пробелом, если необходимо указать несколько значений. Если необходимо указать одно значение, его следует передавать в аналогичных параметрах id
, status
и currency
строкового типа.
Для фильтрации данных карточек с учётом их идентификаторов, присвоенных статусов, а также валют платежей используются массивы id
, status
и currency
.
Создание карточки партнёра
Для создания карточек партнёров следует отправлять запросы к конечной точке /v2/recipient-account/create. В каждом из таких запросов должны указываться параметры project_id
и signature
в объекте general
и параметр title
(название создаваемой карточки) в объекте info
. Также в таких запросах можно указывать остальные сведения о партнёре — получателе выплаты (сведения о компании, реквизиты и прочие финансовые детали, необходимые для проведения выплаты юридическому лицу). В ответе на каждый из таких запросов содержится идентификатор созданной карточки партнёра в объекте info
.
Изменение данных в черновике карточки партнёра
Для обновления данных в карточках со статусом Draft следует отправлять запросы к конечной точке /v2/recipient-account/update. В каждом из таких запросов должны указываться параметры project_id
и signature
в объекте general
и параметр id
(идентификатор карточки, присвоенный при её создании) в объекте info
. Также в таких запросах следует указывать данные о получателе выплаты (сведения о компании, а также реквизиты и прочие финансовые детали, необходимые для проведения выплаты юридическому лицу), которые необходимо изменить. После обновления данных в карточке партнёра отправляется ответ с кодом 200 OK
.
Отправка карточки партнёра на рассмотрение
Для отправки карточек на рассмотрение в ecommpay следует отправлять запросы к конечной точке /v2/recipient-account/send-for-approval . В каждом из таких запросов должны указываться параметры project_id
и signature
в объекте general
и параметр id
в объекте info
. На рассмотрение следует отправлять карточки со всеми данными, указание которых является обязательным. При этом сведения о валюте выплат и стране получателя должны передаваться в форматах, указанных в Справочниках.
Если полученный запрос на отправку карточки корректен, от платформы возвращается ответ с кодом 200 OK
. Если данные представлены в карточке не полностью, в ответе на запрос отправки карточки на рассмотрение в массиве errors
содержится список недостающих параметров. Если в карточке содержатся некорректные данные, в ответе на такой запрос в массиве errors
передаётся информация о неверно указанном параметре.
Если полученный запрос на отправку карточки корректен, от платформы возвращается ответ с кодом 200 OK
. Если данные представлены в карточке не полностью или они некорректны, в ответе на такой запрос в массиве errors
передаётся либо список недостающих параметров, либо информация о неверно указанных параметрах.
В таких случаях можно указать недостающие параметры или передать корректную информацию, используя запрос к конечной точке /v2/recipient-account/update, и повторно отправить карточку на рассмотрение. Информацию о передаваемых кодах ответов на запросы следует уточнять в статье Информация об операциях.
Удаление карточки партнёра
Для удаления карточек с любым из присвоенных статусов, кроме статуса Created, следует отправлять запросы к конечной точке /v2/recipient-account/delete. В каждом из таких запросов должны указываться параметры project_id
и signature
в объекте general
и параметр id
в объекте info
. По удалении карточки партнёра отправляется ответ с кодом 200 OK
.
Отправка запроса на выплату
Чтобы создавать платёжные поручения на выплаты юридическим лицам, следует отправлять запросы к конечной точке /v2/payment/remittance/external. Необходимо помнить, что заявки на выплату можно создавать только для получателей, карточки которых одобрены и их срок действия не истёк (что подтверждается статусом Active). В каждом из таких запросов должны указываться:
- параметр
id
(идентификатор карточки получателя платежа) в объектеrecipient
; - параметры
project_id
,payment_id
иsignature
в объектеgeneral
; - параметры
amount
,currency
иpayment_method_alias
(сумма и валюта платежа, а также идентификатор платёжного метода из массиваpayment_methods
, переданного в ответе на запрос категории /v2/recipient-account/list) в объектеpayment
.
Информация о результатах проведения выплат передаётся в оповещениях типового формата, описание которых представлено в статье Оповещения.