Отправление жалобы
Запрос на создание жалобы отправляется в случае технических или иного рода проблем, касающихся платежей.
Swagger - подробное API жалоб.
Механика работы
- Происходит внештатная ситуация.
- Мерчант отправляет запрос на создание жалобы.
API
Для отправки жалобы на создание: POST запрос https://{firstpay_url}/api/complaints/v1/init.
Интерфейс тела запроса на создание жалобы
{
"publicKey": "string",
"hash": "string",
"merchantPaymentId": "string",
"merchantUserId": "string" || null,
"paymentMethodId": "string" || null,
"attachmentId": "string" || null,
"paymentId": "string" || null,
"amount": "number" || null,
"clientFieldsValues": [
{
"key": "string",
"value": "string"
}
] | null,
"comment": "string" || null,
"postBackUrl": "string" || null
}
Таблица с описанием всех полей тела запроса
| Поле | Тип | Обязательный | Описание | |||||
|---|---|---|---|---|---|---|---|---|
| publicKey | String | Да | Публичный ключ, который выдавался при регистрации мерчанта на платформе FirstPay (Ключ передается в файле, нужно передать все его содержимое). | |||||
| hash | String | Да | Закодированная строка тела запроса. О том как ее сформировать - см. в разделе "Авторизация". | |||||
| merchantPaymentId | String | Да | Опциональное поле. Требуется указать id платежа в своей системе. | |||||
| merchantUserId | String | Нет | Опциональное поле. Можно указать id пользователя в своей системе. | |||||
| paymentMethodId | String | Нет | Опциональное поле. ID платежного метода. | |||||
| attachmentId | String | Нет | Опциональное поле. Можно загрузить изображение с аккаунтом - см. в разделе "Загрузка медиа". В ответе придёт поле id, его как раз и можно будет указать при создании жалобы. | |||||
| paymentId | String | Нет | Опциональное поле. ID платежа в системе FirstPay. | |||||
| amount | Number | Нет | Опциональное поле. Сумма платежа. | |||||
| clientFieldsValues | Array | Нет | Опциональное поле. Список заполненных полей пользователем. Все эти поля приходят в платежном методе. | |||||
| key | String | Да | Идентификатор/id поля. | |||||
| value | String | Да | Значение, заполненное пользователем. | |||||
| comment | Strung | Нет | Опциональное поле. Дополнительный комментарий. | |||||
| postBackUrl | Strung | Нет | Опциональное поле. При указании postBackUrl FirstPay после работы над жалобой отправит запрос на переданный url. Если параметр не передан, то запрос отправлен не будет. | |||||
Таблица возвращаемых ответов:
| 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. |
| 403 | {"error": "ACCESS_DENIED"} | Ошибка возникает, если мерчант в запросе указал метод платежа, к которому не имеет доступа. |
| 404 | {"error": "NOT_FOUND"} | Ошибка возникает при запросе платежного метода по id, если такого метода нет в системе. |
| 500 | {"error": "some text here..."} | Ошибка возникает, когда сервер не смог обработать запрос и произошла какая-то не штатная ситуация. |
Интерфейс тела ответа создания жалобы:
{
"id": "string",
"merchantId": "string",
"merchantPaymentId": "string",
"merchantUserId": "string" || null,
"paymentMethodId": "string" || null,
"currencyCode": "string" || null,
"paymentId": "string" || null,
"status": "string",
"amount": "number" || null,
"comment": "number" || null,
"createdAt": "string",
"updatedAt": "string"
}
Таблица с описанием всех полей:
| Поле | Тип | Описание | |||||
|---|---|---|---|---|---|---|---|
| id | String | ID жалобы в системе FistPay. | |||||
| merchantId | String | ID мерчанта в системе FistPay. | |||||
| merchantPaymentId | String | ID платежа в системе мерчанта. | |||||
| merchantUserId | String | Опциональное поле. ID пользователя в системе мерчанта. | |||||
| paymentMethodId | String | Опциональное поле. ID платежного метода. | |||||
| currencyCode | String | Опциональное поле. Код валюты. | |||||
| paymentId | String | Опциональное поле. ID платежа в системе FirstPay. | |||||
| status | String | Статус жалобы в системе FirstPay. | |||||
| amount | Number | Опциональное поле. Сумма платежа. | |||||
| comment | String | Опциональное поле. Дополнительный комментарий. | |||||
| createdAt | String | Дата и время создания жалобы. | |||||
| updatedAt | String | Дата и время изменения жалобы. | |||||