Получение информации о доступных методах

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

Для получения информации о доступности методов можно использовать запросы к конечным точкам группы /v2/info/available-methods/{payment_direction}/list, где в качестве указателя payment_direction следует использовать payin для оплат (любого типа) или payout для выплат. При работе с такими запросами необходимо учитывать следующее:

В платёжной платформе поддерживается возможность получать информацию о доступности методов для проведения оплат и выплат. Для этого предусмотрены конечные точки группы /v2/info/available-methods/{payment_direction}/list, в запросах к которым в качестве указателя payment_direction следует использовать payin для оплат или payout для выплат, а также необходимо учитывать следующее:

  • В каждом запросе должен указываться объект general, включающий два параметра:
    • project_id — идентификатор проекта, полученный от ecommpay при интеграции;
    • signature — подпись запроса, составленная после указания целевых параметров (подробнее — в статье Работа с подписьюподробнее).
  • Если необходимо получить информацию для одного или нескольких конкретных платёжных методов, должен указываться массив payment_method_list, включающий параметры payment_method с кодами этих методов.
Рис. 1. Пример данных из запроса на получение информации о доступности методов Apple Pay и Google Pay
{
  "general":{
    "project_id": 50,
    "signature": "qflDO7yiPKCFTyqCAaT+2/f9Gi20aV5woHKyf6J/CGJyuSjq1GH7BYgmil8APKojXw=="
    },
  "payment_method_list": [
        {
            "payment_method":"etoken"
        },
        {
            "payment_method":"google-pay"
        }
        ]
}
Рис. 2. Пример тела запроса на получение информации о доступности всех методов, подключенных в рамках используемого проекта
{
  "general":{
    "project_id": 50,
    "signature": "qflDO7yiPKCFTyqCAaT+2/f9Gi20aV5woHKyf6J/CGJyuSjq1GH7BYgmil8APKojXw=="
    }
}

Для выполнения запросов на получение информации о доступности методов используется синхронная схема взаимодействия между веб-сервисом и платёжной платформой. Это означает, что каждый такой запрос полностью выполняется на стороне платёжной платформы в течение одного HTTP-сеанса, а в ответе на корректно составленный запрос содержится HTTP-код ответа (200) и запрошенная информация без указания статуса запроса. В случаях, когда запрос некорректен или с его приёмом и обработкой возникли проблемы, в ответе на запрос содержатся HTTP-код ответа, статус обработки запроса error и описание причины обнаруженной ошибки. Информация об HTTP-кодах ответов представлена в статье Организация взаимодействия, а о кодах ошибок, используемых в платёжной платформе — в статье Информация об операциях.

Для выполнения запросов на получение информации о доступности методов используется синхронная схема взаимодействия. В ответе на корректно составленный запрос содержится HTTP-код ответа (200) и запрошенная информация без указания статуса запроса. В случаях, когда запрос некорректен или с его приёмом и обработкой возникли проблемы, — HTTP-код ответа (подробнее), статус обработки запроса error и описание причины обнаруженной ошибки (подробнее).

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

Рис. 3. Пример данных из ответа о доступности методов Apple Pay и Google Pay
{
    "project_id": 50,
    "signature": "qflDO7yiPKCFTyqCAaT+2/f9Gi20aV5woHKyf6J/CGJyuSjq1GH7BYgmil8APKojXw==",
    "available_methods":[
        {
            "payment_method":"etoken",
            "is_available": false
        },   
        {
            "payment_method":"google-pay",
            "is_available": true
        }]
}
Рис. 4. Пример данных из ответа о доступности всех подключённых методов
{
    "project_id": 50,
    "signature": "qflDO7yiPKCFTyqCAaT+2/f9Gi20aV5woHKyf6J/CGJyuSjq1GH7BYgmil8APKojXw==",
    "available_methods":[
        {
            "payment_method":"card",
            "is_available": true
        },    
        {
            "payment_method":"etoken",
            "is_available": false
        },    
        {
            "payment_method":"google-pay",
            "is_available": true
        }]
}