Этот API-метод используется для получения доступных методов ПС. Ниже приведена структура запроса и описание параметров.
URL:
https://api-gateway.sandbox.idynsys.org/api/pay-aggregator/external-app/payment-methodshttps://api-gateway.idynsys.org/api/pay-aggregator/external-app/payment-methodsМетод запроса: GET
Заголовки запроса:
X-Client-Id: (обязательно). Идентификатор приложения, получаемый при регистрации приложения в системе B2B Backoffice.X-Signature: (обязательно). Подпись запроса в формате HMAC-SHA256 (hex). Формируется по алгоритму, описанному на странице «Подпись».X-Timestamp: (обязательно). Время формирования запроса — UTC Unix-время в секундах. Запрос принимается, только если время в пределах ±5 минут от времени сервера.X-Nonce: (обязательно). Уникальный идентификатор запроса (рекомендуется UUID v4). Повторное использование X-Nonce в пределах окна времени отклоняется.Content-Type: (обязательно) Тип содержимого запроса, должен быть application/json.Параметры запроса:
paymentType: (обязательно) Тип платежа (deposit или withdrawal).trafficType: (обязательно) Тип трафика (ftd или trusted).amount: (не обязательно) Сумма платежа.riskGroupCode: (не обязательно) Код рисковой группы.currency: (не обязательно) Валюта платежа.trafficSegment: (не обязательно) Сегмент трафика.communicationType: (не обязательно) Тип коммуникации (h2h или h2c).customerId: (не обязательно) Внешний идентификатор покупателя. Если передан, то для h2c deposit по bankcard-методам, привязанным к ПС с поддержкой токенизации карт (например, Monri), в ответе добавляется поле cards со списком ранее сохранённых карт покупателя (в маскированном виде). Если не передан — поле cards в ответе отсутствует.Ответ возвращается в формате JSON.
1. Успешный ответ (статус 200)
При успешном выполнении запроса API возвращает ответ со статусом 200 OK, пример структуры:
[
{
"communicationType": "h2c",
"currency": "INR",
"description": "H2C UPI payment method",
"maxAmount": 800000,
"minAmount": 100,
"name": "UPI",
"trafficSegment": "OdeonPay",
"riskGroupCode": "HIGH",
"isPopular": true
},
{
"communicationType": "h2c",
"currency": "RSD",
"description": "Bankcard payment method",
"maxAmount": 500000,
"minAmount": 100,
"name": "Bankcard",
"trafficSegment": "OdeonPay",
"riskGroupCode": "HIGH",
"isPopular": false,
"cards": [
{ "maskedCard": "434179******0044" }
]
}
]
Описание полей ответа внутри структуры items:
| Наименование | Тип | Обязательное? | Описание |
communicationType |
string | Да | Тип коммуникации. |
maxAmount |
float | Да | Максимальная сумма платежа. |
minAmount |
float | Да | Минимальная сумма платежа. |
description |
string | Да | Описание метода платежной системы. |
name |
string | Да | Имя метода платежной системы (см. список на странице API. Статус ордера). |
trafficSegment |
string | Да | Сегмент трафика, задается в валютном счете. |
currency |
string | Да | ISO код валюты |
riskGroupCode |
string | Да | Код рисковой группы |
isPopular |
boolean | Нет | Рекомендуемый метод |
cards |
array | Нет | Список сохранённых карт покупателя в маскированном виде. Возвращается только для h2c deposit и только при переданном customerId — см. примечание ниже. |
Все элементы приходят по уникальной связке полей: trafficType, trafficSegment, paymentType, name, currency, communicationType, riskGroupCode, isPopular. Если все существующие конфигурации не нужны, то необходимо использовать параметры запроса для фильтрации.
cardsПоле cards со списком сохранённых карт покупателя возвращается только для h2c deposit и только при одновременном выполнении всех условий:
customerId;paymentType = deposit;communicationType = h2c;Если хотя бы одно из условий не выполнено или сохранённых карт нет — поле cards в ответе отсутствует.
Каждый элемент массива cards содержит:
| Наименование | Тип | Обязательное? | Описание |
maskedCard |
string | Да | Маскированный номер карты: первые 6 и последние 4 цифры (например, 434179******0044). Полный номер карты (PAN) и CVV не передаются. |
2. Ошибка валидации запроса (статус 400)
Запрос валидируется по OpenAPI-схеме. API вернёт ответ со статусом 400 Bad Request, если:
paymentType или trafficType;paymentType не входит в набор deposit | withdrawal;trafficType не входит в набор ftd | trusted;communicationType (если передано) не входит в набор h2h | h2c.Текст в поле message зависит от конкретного нарушенного правила. Пример структуры ответа:
{
"success": false,
"message": "paymentType: value is not one of the allowed values [\"deposit\",\"withdrawal\"]"
}
3. Ошибка доступа (статус 403)
API вернёт ответ со статусом 403 Forbidden, если подпись некорректна, секретный ключ не совпадает с ключом, зарегистрированным в системе Billing, приложение из заголовка X-Client-Id отсутствует или неактивно, истёк срок действия запроса (X-Timestamp вне допустимого окна) либо повторно использован X-Nonce.
Пример структуры ответа
{
"success": false,
"message": "access denied"
}