Статус платежа
Swagger - подробное API платежей.
Интерфейс тела запроса на проверку статуса платежа:
{
"publicKey": "string",
"hash": "string",
"paymentId": "string", // optional
"merchantPaymentId": "string" // optional
}
Таблица с описанием всех полей тела запроса:
| Поле | Тип | Обязательный | Описание | |||||
|---|---|---|---|---|---|---|---|---|
| publicKey | String | Да | Публичный ключ, который выдавался при регистрации мерчанта на платформе FirstPay (Ключ передается в файле, нужно передать все его содержимое). | |||||
| hash | String | Да | Закодированная строка тела запроса. О том как ее сформировать - см. в разделе "Авторизация". | |||||
| paymentId | String | По ситуаци и | Id платежа в системе FirstPay. В запросе должен быть передан либо paymentId, либо merchantPaymentId. Если указаны оба поля, то сервер сначала проверяет наличие платежа по paymentId, а уже потом по merchantPaymentId. | |||||
| merchantPaymentId | String | По ситуации | Id платежа в системе мерчанта, который был указан в поле merchantPaymentId при создании платежа. | |||||
Таблица возвращаемых ответов:
| code | Тело ответа | Описание |
|---|---|---|
| 200 | Платеж | При успешном запросе возвращаются данные по платежу. |
| 400 | {"error": "some text here..."} | Ошибка возникает, если не удалось распарсить тело запроса и query параметры. (скорее всего они были переданы с ошибкой). |
| 401 | {"error": "NO_LOGIN"} | Ошибка возникает, если не передали в теле запроса поле publicKey. |
| 401 | {"error": "NO_TOKEN"} | Ошибка возникает, если не передали в теле запроса поле hash. |
| 401 | {"error": "NO_KEY"} | Ошибка возникает, если передан неправильный publicKey. |
| 401 | {"error": "UNAUTHORIZED"} | Ошибка возникает, если произошла ошибка при валидации publicKey и hash. |
| 404 | {"error": "NOT_FOUND"} | Ошибка возникает, если такого платежа нет в системе. |
| 500 | {"error": "some text here..."} | Ошибка возникает, когда сервер не смог обработать запрос и произошла какая-то не штатная ситуация. |
Описание полей платежа
Интерфейс платежа:
{
"id": "string",
"currencyCode": "string",
"paymentMethodId": "string",
"status": "string",
"amount": 0,
"clientFieldsValues": [{
"key": "string",
"value": "string"
}],
"merchantPaymentId": "string", // optional
"merchantUserId": "string", // optional
"failedCode": "string", // optional
"attachment": {
"id": "string",
"url": "string"
}, // optional
"postBackUrl": "string", // optional
"createdAt": "string"
}
Таблица с описанием всех полей:
| Поле | Тип | Описание | |||||
|---|---|---|---|---|---|---|---|
| id | String | ID платежа. | |||||
| currencyCode | Enum | ISO код валюты: USD, INR, BDT, PKR и тд. | |||||
| paymentMethodId | String | ID платежного метода. | |||||
| status | Enum | Статус платежа: SUCCESS, PENDING, FAILED, NEED_CHECK. | |||||
| amount | Number | Сумма в указанной валюте. | |||||
| clientFieldsValues | Array | Массив полей с данными клиента. Создаётся на основе clientFields платёжного метода. Каждое поле содержит свой ключ и значение. | |||||
| key | String | Идентификатор/id поля, который указан в clientFields платёжного метода. | |||||
| value | String | Значение поля, которое удовлетворяет валидации из clientFields платёжного метода. | |||||
| merchantPaymentId | String | Опциональное поле. Равен указанному merchantPaymentId при создании платежа. | |||||
| merchantUserId | String | Опциональное поле. Равен указанному merchantUserId при создании платежа. | |||||
| failedCode | Enum | Опциональное поле. Причина неудачной обработки платежа: INCORRECT_AMOUNT, NO_AMOUNT, INCORRECT_FIELDS, RECIPIENT_LIMIT, ANOTHER_REASON. | |||||
| attachment | Object | Опциональное поле. Если изображение с подтверждением платежа было загружено, содержит информацию о нём. | |||||
| id | String | Id медиа. | |||||
| url | String | Ссылка на изображение. | |||||
| createdAt | string | Дата создания платежа. | |||||