Check
Описание
Операция Check предназначена для проверки возможности осуществления платежа. Она является первым этапом процесса оплаты, который позволяет убедиться, что платеж может быть выполнен, прежде чем переходить к этапу оплаты.
Для выполнения платежа после успешной проверки необходимо использовать операцию Pay, описанную в Документации по операции Pay.
Эндпоинт:
/api/ui/unregistered-check
Метод: POST
POSTДля проверки возможности платежа отправляется следующий запрос:
Тело запроса (body):
{
"recipientId": 1001****51,
"account": "123456",
"amount": 6000,
"currency": 860,
"agentTranId": "3c6a****-****-****-****-****f4a1",
"params": {
"pan": "8600************",
"exp": "2803"
},
"agentParams": {},
"requestGroup": null,
"requestSubGroup": null
}Заголовки (Headers):
locale: UZ нужно отправить (может быть также RU, EN), чтобы определить язык sms текста, если не указано — по умолчанию будет UZ.
Параметры запроса на проверку
recipientId
Long
Да
Идентификатор получателя
account
String
Да
Номер счета для оплаты (номер карты)
64
amount
Long
Да
Сумма платежа (в тийинах)
currency
Integer
Да
Код валюты (860 - UZS)
agentTranId
String
Да
Уникальный идентификатор транзакции
64
params
Map<String, Object>
Да
Дополнительные параметры
params.pan
String
Да
16-значный номер карты
16
params.exp
String
Да
Срок действия карты (в формате YYMM)
4
agentParams
Map<String,Object>
Нет
Параметры агента
Ответ на проверку (Check Response)
При успешной проверке возвращается следующий ответ:
Параметры ответа на проверку
id
Long
Идентификатор счета (требуется для операции оплаты)
recipientId
Long
Идентификатор получателя
recipientShortName
String
Краткое имя получателя (макс. 64 символа)
sessionId
String/null
Идентификатор сессии (для POS-систем, макс. 32 символа)
amountRatio
Integer
Коэффициент суммы (например, 1 - рубли/сумы, 100 - тийины/копейки)
amount
Long
Сумма платежа
account
String
Номер счета/телефона (макс. 64 символа)
currency
Integer
Код валюты (3-значный код ISO 4217)
extId
String
Внешний идентификатор транзакции (макс. 32 символа)
requestTime
String
Время запроса (формат ISO 8601 Instant)
responseTime
String
Время ответа (формат ISO 8601 Instant)
responseText
String
Текст ответа (макс. 128 символов)
success
Boolean
Статус успеха (true/false)
data
Map<String,Object>
Дополнительные данные (JSON-объект)
data.phone
String
номер телефона, на который отправлен OTP (маскированный)
data.otp_send_status
boolean
отправлен ли OTP
data.leftSeconds
Integer
срок действия OTP (в секундах), соответствует application.otp.timeout-seconds в yml, максимум 120 секунд
statusCode
Integer
Код статуса (0 - успех, другие значения - ошибка)
statusMessage
String/null
Сообщение о статусе
problemStatus
ProblemStatus/null
Статус проблемы
gatewayName
String/null
Название шлюза
sender
P2pParticipantDto
Информация об отправителе
receiver
P2pParticipantDto
Информация о получателе
Статусы транзакций для операции проверки
NEW- Новая транзакцияCHECK_OK- Проверка успешнаCHECKING- Проверка в процессеCHECK_FAIL- Проверка не удалась
Важные замечания
Последовательность: Операция проверки должна выполняться перед операцией оплаты.
Идентификатор счета: Используйте
idиз ответа на проверку какbillIdв запросе на оплату.Формат суммы: Все суммы указываются в тийинах (1 сум = 100 тийинов).
Код валюты: 860 - Узбекский сум (UZS).
UUID:
agentTranIdдолжен быть уникальным для каждой транзакции.
Обработка ошибок
Проверяйте следующие параметры в ответе API:
success: trueиstatusCode: 0- операция успешнаsuccess: falseилиstatusCode != 0- ошибка операции
В случае ошибок используйте следующие параметры:
statusMessage- Подробная информация об ошибкеproblemStatus- Статус проблемы (перечисление ProblemStatus)status- Значение перечисления TransactionStatus (см. Документация по статусам транзакций)
Last updated