Перейти к основному содержимому

Статус платежа

Swagger - подробное API платежей.

Интерфейс тела запроса на проверку статуса платежа:

{
"publicKey": "string",
"hash": "string",
"paymentId": "string", // optional
"merchantPaymentId": "string" // optional
}

Таблица с описанием всех полей тела запроса:

ПолеТипОбязательныйОписание
publicKeyStringДаПубличный ключ, который выдавался при регистрации мерчанта на платформе FirstPay (Ключ передается в файле, нужно передать все его содержимое).
hashStringДаЗакодированная строка тела запроса. О том как ее сформировать - см. в разделе "Авторизация".
paymentIdStringПо ситуацииId платежа в системе FirstPay. В запросе должен быть передан либо paymentId, либо merchantPaymentId. Если указаны оба поля, то сервер сначала проверяет наличие платежа по paymentId, а уже потом по merchantPaymentId.
merchantPaymentIdStringПо ситуации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"
}

Таблица с описанием всех полей:

ПолеТипОписание
idStringID платежа.
currencyCodeEnumISO код валюты: USD, INR, BDT, PKR и тд.
paymentMethodIdStringID платежного метода.
statusEnumСтатус платежа: SUCCESS, PENDING, FAILED, NEED_CHECK.
amountNumberСумма в указанной валюте.
clientFieldsValuesArrayМассив полей с данными клиента. Создаётся на основе clientFields платёжного метода. Каждое поле содержит свой ключ и значение.
keyStringИдентификатор/id поля, который указан в clientFields платёжного метода.
valueStringЗначение поля, которое удовлетворяет валидации из clientFields платёжного метода.
merchantPaymentIdStringОпциональное поле. Равен указанному merchantPaymentId при создании платежа.
merchantUserIdStringОпциональное поле. Равен указанному merchantUserId при создании платежа.
failedCodeEnumОпциональное поле. Причина неудачной обработки платежа: INCORRECT_AMOUNT, NO_AMOUNT, INCORRECT_FIELDS, RECIPIENT_LIMIT, ANOTHER_REASON.
attachmentObjectОпциональное поле. Если изображение с подтверждением платежа было загружено, содержит информацию о нём.
idStringId медиа.
urlStringСсылка на изображение.
createdAtstringДата создания платежа.