URL:
https://api-gateway.sandbox.idynsys.org/api/accounts/deposithttps://api-gateway.idynsys.org/api/accounts/depositМетод запроса: POST
Заголовки запросе:
X-Client-Id: (обязательно). Идентификатор приложения, получаемый при регистрации приложения в системе B2B Backoffice.X-Authorization-Sign: (обязательно). Подпись запроса по секретному ключу приложения, который определяется в системе B2B Backoffice. Подпись формируется по алгоритму, описанному на странице “Подпись”Content-Type: (обязательно) Тип содержимого запроса, должно быть 'application/json'.Структура тела запроса:
Тело запроса должно быть в формате JSON и иметь следующую структуру:
{
"paymentMethodName": "P2P",
"communicationType": "h2h",
"trafficType": "ftd",
"trafficSegment": "VIP",
"riskGroupCode": "LOW",
"payment": {
"amount": 2000.00,
"currency": "RUB"
},
"merchantOrder": {
"id": "d07d573f-fc62-4652-8b35-9b4a9a9d2ed3",
"description": "desc"
},
"urls": {
"callback": "https://webhook.site/5e9dcb21-5668-4510-bcf6-f074f8849307",
"return": "https://webhook.site/return",
"redirectSuccess": "https://webhook.site/redirectSuccess",
"redirectFail": "https://webhook.site/redirectFail"
}
"sessionDetails": {
"ipAddress": "139.0.51.23",
"acceptLanguage": "en-US",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36",
"fingerprint": "aekrtpwoiertjw34tij34w2-t89twp3j409j"
},
"customer": {
"id": "test1",
"email": "srgpekl@hldrive.com"
}
}
В следующей таблице информация об обязательности атрибутов для платежных методов:
| Наименование | Платежные методы, которые требуют влючения подструктуры в тело запроса | Наименование атрибута подструктуры | Обязательное? | Тип | Описание |
|---|---|---|---|---|---|
| - | Все | paymentMethodName |
Да | string | Код метода оплаты.Возможные значения:
|
| - | Все | communicationType |
Да | string | Тип коммуникации для выполнения платежа. Возможные значения:
|
| - | Все | trafficType |
Да | string | Тип трафика. Возможные значения:
|
| - | Все | trafficSegment |
Нет | string | Сегмент трафика. Задается через валютный счет. |
| - | Все | riskGroupCode |
Нет | string | Код рисковой группы пользователя.. |
| payment | Все | amount |
Да | float | Сумма платежа. Допустимые значения - больше 0. Если передается значение с дробной частью, то оно может округляться по правилам платежной системы. |
| payment | Все | currency |
Да | string | 3-х значный буквенный код валюты платежа по ISO 4217. |
| merchantOrder | Все | id |
Да | string | Идентификатор ордера клиента (организации заказчика). |
| merchantOrder | Все | description |
Да | string | Описание ордера клиента. |
| customer | Все | id |
Да | string | Идентификатор пользователя в магазине, который выполняет платеж. |
| customer | Все | email |
Да | string | Электронная почта пользователя, который выполняет платеж. |
| customer | Все | phoneNumber |
Только для:
|
string | Номер телефона пользователя в международном формате, который выполняет платеж. Значение должно содержать только цифры. |
| customer | Все | firstName, lastName |
Только для:
|
string | Имя и фамилия пользователя латиницей, который выполняет платеж. |
| customer | Все | middleName |
Нет | string | Отчество или второе имя |
| sessionDetails | Все | acceptLanguage |
Да | string | Соответствуете заголовку Accept-Language в браузере, используется для указания предпочтений клиента по языкам. |
| sessionDetails | Все | fingerprint |
Да | string | Подпись данных пользователя в запросе. см. https://github.com/fingerprintjs/fingerprintjs |
| sessionDetails | Все | ipAddress |
Да | string | IP адрес пользователя. |
| sessionDetails | Все | userAgent |
Да | string | Информацию о браузере, операционной системе и устройстве пользователя. |
| card | Только для:
|
pan |
Да | string | Номер банковской карты, с которой списываются деньги. |
| card | Только для:
|
holderName |
Да | string | Данные владельца карты (Имя Фамилия, как написано на карте) |
| card | Только для:
|
expiration |
Да | string | Срок действия карты в формате MM/YY. |
| card | Только для:
|
cvv |
Да | string | Cvv |
| urls | Все | callback |
Да | string | URL для отправки уведомлений о статусе транзакции. |
| urls | Все | return |
Да | string | |
| urls | Все | redirectSuccess |
Да | string | |
| urls | Все | redirectFail |
Да | string |
Ответ возвращается в формате JSON.
1. Успешный ответ (статус 200)
При успешном выполнении запроса API возвращает ответ со статусом 200 OK и следующей структурой:
{
"amount": 4000,
"currency": "RUB",
"id": 467343,
"redirectUrl": "https://dev.payment.test/test-payment-id",
"status": "IN_PROGRESS"
}
Описание полей ответа:
| Наименование | Тип | Обязательное? | Описание |
|---|---|---|---|
id |
integer | Да | Идентификатор ордера для выполненного платежа. Может содержать значение 0, если ордер не был создан по причине отсутствия настроенных маршрутов, некорректных данных для создания ордера и других случаев. |
amount |
integer | Да | Сумма платежа |
currency |
string | Да | Валюта платежа |
redirectUrl |
string | Нет | Ссылка на терминал платежной системы. Не приходит, если есть ошибка. |
status |
string | Да | Код статуса выполнения платежа.Возможные значения
|
error |
string | Нет | Содержит текстовое описание ошибки, в случае, если статус = ERROR |
2. Ошибка доступа (статус 403)
Если подпись некорректна, секретный ключ не совпадает с ключом, зарегистрированном в системе B2B Backoffice, отсутствует или неактивно приложение, определенное в заголовке запроса X-Client-Id, то API вернет ответ со статусом 403 Forbidden
{
"success": false,
"message": "access denied"
}
3. Ошибка валидации (статус 422)
Если не удается создать ордер по переданному body, то срабатывает ошибка валидации
{
"success": false,
"message": "data validation error for: payment.amount - Value is required"
}
4. Внутренняя ошибка (статус 500)
При внутренней ошибке:
{
"success": false,
"message": "internal error"
}