Pay
Метод: POST
POSTЭндпоинт: /api/agent/v2/unregistered-pay
/api/agent/v2/unregistered-payАвторизация
Нужно передавать jwt token в заголовках (headers):
Authorization: Bearer <access_token>
Content-Type: application/jsonТело запроса - PayRequest
{
"billId": 987654321,
"amount": 10000,
"type": "UZCARD", // UZCARD, HUMO
"params": {
"code": "123456"
}
}Поля тела запроса
billId
Да
Number
Идентификатор чека из ответа /api/agent/v2/unregistered-check
amount
Да
Number
Сумма платежа
params.code
Да
String
OTP код, который отправлен клиенту
При отсутствии любого из обязательных полей сервер выбросит Payment parameters are missing → HTTP 400.
Формат ответа - SimpleBillResponse
Поля ответа при успешной оплате
id
Number
987654321
billId
Number
987654321
recipientId
Number
123456
recipientShortName
String
"UMS MOBILE"
sessionId
String
"SESS-20251107-001"
amount
Number
10000
account
String
"998901234567"
currency
Number
860
extId
String
"AGT-00112233"
requestTime
Instant
"2025-11-07T10:30:02Z"
responseTime
Instant
"2025-11-07T10:30:04Z"
responseText
String
"Оплата успешно проведена"
success
Boolean
true
status
String
"SUCCESS"
data.paymentId
String
"PAY-20251107-0001"
data.providerInfo
String
"UMS"
data.amount
Number
10000
data.currency
Number
860
statusCode
Number
0
statusMessage
String
"SUCCESS"
gatewayName
String
"SOME_GATEWAY"
sender.id
String
"CARD-8600"
sender.name
String
"Humo / Uzcard"
sender.account
String
"860012******1234"
receiver.id
String
"UMS"
receiver.name
String
"UMS MOBILE"
receiver.account
String
"998901234567"
Возможные статусы
SUCCESS— оплата успешно проведена.CHECKING— OTP не подтверждён (неверный/истёкший код или недоступен провайдер), требуется повторная попытка.FAILED— нарушены предусловия (нет логина в токене, отсутствуютparams/code, не найден успешный чек поbillId) или бизнес-ошибка оплаты.
Коды ответов
200 OK — бизнес-результат в теле (
SimpleBillResponse) со статусамиSUCCESS/FAILED/CHECKING.400 Bad Request — невалидное тело запроса (провал валидации
@Valid), непереданны или забыты нужные параметры.401 Unauthorized — токен отсутствует/просрочен, нужно заново обратится к нужным api что бы взять access/refresh token.
403 Forbidden — недостаточно прав, нужно запросить права у админа.
Примечание: предикатные/бизнес-ошибки (нет успешного CHECK, нет
params, не найден логин и т.д.) в доменной логике возвращаются как 200 OK со статусомFAILEDв JSON.
Примеры
Успешный ответ (200):
Неверный / истёкший OTP
Не найден успешный чек перед оплатой
Нет логина в токене
Параметры платежа отсутствуют
Ошибка валидации тела (400 Bad Request)
Схема
Частые ошибки и советы
INVALID_PARAMS — проверьте
recipientId,account,amount,params.phone.CHECK_FAIL из-за OTP — повторите попытку, проверьте доступность провайдера и корректность телефона.
Success check bill not found — выполните успешный /v2/unregistered-check и используйте возвращённый billId.
Last updated