Check

Описание

Операция Check предназначена для проверки возможности осуществления платежа. Она является первым этапом процесса оплаты, который позволяет убедиться, что платеж может быть выполнен, прежде чем переходить к этапу оплаты.

Для выполнения платежа после успешной проверки необходимо использовать операцию Pay, описанную в Документации по операции Pay.

Эндпоинт:

/api/ui/unregistered-check

Метод: 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)

status

TransactionStatus

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 - Проверка не удалась

Важные замечания

  1. Последовательность: Операция проверки должна выполняться перед операцией оплаты.

  2. Идентификатор счета: Используйте id из ответа на проверку как billId в запросе на оплату.

  3. Формат суммы: Все суммы указываются в тийинах (1 сум = 100 тийинов).

  4. Код валюты: 860 - Узбекский сум (UZS).

  5. UUID: agentTranId должен быть уникальным для каждой транзакции.

Обработка ошибок

Проверяйте следующие параметры в ответе API:

  • success: true и statusCode: 0 - операция успешна

  • success: false или statusCode != 0 - ошибка операции

В случае ошибок используйте следующие параметры:

Last updated