Этот API-метод используется для получения данных об ордере.
URL:
https://api-gateway.sandbox.idynsys.org/api/accounts/external-app/orders/statushttps://api-gateway.idynsys.org/api/accounts/external-app/orders/statusМетод запроса: GET
Заголовки запросе:
X-Client-Id: (обязательно). Идентификатор приложения, получаемый при регистрации приложения в системе B2B Backoffice.X-Authorization-Sign: (обязательно). Подпись запроса по секретному ключу приложения, который определяется в системе B2B Backoffice. Подпись формируется по алгоритму, описанному на странице “Подпись”.Content-Type: (обязательно) Тип содержимого запроса, должно быть application/json.Параметры запроса:
id: Идентификатор ордера в B2B Backoffice.sessionId: Идентификатор сессии, полученный из терминала.Поиск ордера проводится по одному из параметров. Если ни один из параметров не указан, будет отдан ответ со статусом 400.
Ответ возвращается в формате JSON.
1. Успешный ответ (статус 200)
При успешном выполнении запроса API возвращает ответ со статусом 200 OK, пример структуры:
{
"id": 4331,
"externalId": "9834-24",
"merchantOrderId": "9834",
"paymentMethod": "Bankcard",
"paymentSystem": "Connpay",
"transactionType": "deposit",
"amount": 2000,
"currency": "RUB",
"requestedAmount": "20",
"requestedCurrency": "EUR",
"status": "IN_PROGRESS",
"customer": {
"applicationClientId": "marbella",
"externalId": "123456",
"email": "bob.smit@test.com",
"firstName": "Bob",
"lastName": "Smit",
"middleName": "Ju",
"phoneNumber": "74886509431"
},
"redirectUrl": "",
"confirmationType": "",
"error": ""
}
Описание полей ответа:
| Наименование | Тип | Обязательное? | Описание |
|---|---|---|---|
id |
integer | Да | ID ордера в Billing. |
externalId |
string | Hет | ID ордера в платежной системе, через которую выполнялся платеж. |
merchantOrderId |
string | Hет | Идентификатор ордера клиента (организации заказчика). |
paymentMethod |
string | Hет | Имя метода платежной системы. |
paymentSystem |
string | Hет | Имя платежной системы. |
transactionType |
string | Да | Тип платежа. Возможные значения:
|
amount |
string | Нет | Реальная сумма платежа. |
currency |
string | Нет | Реальная валюта, 3-х значный буквенный код валюты платежа по ISO 4217. |
requestedAmount |
string | Да | Сумма, которую запрашивали для платежа. |
requestedCurrency |
string | Да | Валюта, которую запрашивали для платежа. |
status |
string | Да | Статус ордера.Возможные значения:
|
redirectUrl |
string | Нет | Cсылка для перехода для подтверждения платежа или передачи кода подтверждения. |
confirmationType |
string | Нет | Тип подтверждения. Может иметь значения: null, "" или "3DS_PAYMENT_PAGE". |
customer |
object | Hет | Объект содержащий информацию о пользователе |
error |
string | Нет | Ошибка от ПС |
Поля в customer:
| Наименование | Тип | Обязательное? | Описание |
|---|---|---|---|
applicationClientId |
string | Hет | Код приложения клиента. |
externalId |
string | Hет | Внешний ID пользователя. |
phoneNumber |
string | Hет | Номер телефона пользователя в международном формате. |
email |
string | Hет | Электронная почта пользователя. |
firstName |
string | Hет | Имя |
lastName |
string | Hет | Фамилия |
middleName |
string | Нет | Отчество |
2. Ошибка параметров запроса (статус 400)
Если в запросе не указан ни id, ни sessionId - API вернет ответ со статусом 400 Bad Request.
Пример структуры ответа
{
"success": false,
"message": "empty search params"
}
3. Ошибка доступа (статус 403)
Если подпись некорректна, секретный ключ не совпадает с ключом, зарегистрированном в системе B2B Backoffice, отсутствует или неактивно приложение, определенное в заголовке запроса X-Client-Id, то API вернет ответ со статусом 403 Forbidden
Пример структуры ответа
{
"success": false,
"message": "Forbidden"
}
4. Ошибка “Несуществующий ордер" (статус 404)
Если в системе не нашлось ордера по заданным параметрам, API вернет ответ со статусом 404 Not Found.
Пример структуры ответа
{
"success": false,
"message": "Transaction not found"
}
5. Ошибка “Внутренняя ошибка сервера" (статус 500)
Если в системе внутренняя ошибка, API вернет ответ со статусом 500 Internal server error.
Пример структуры ответа
{
"success": false,
"message": "Internal server error"
}