Pay

Обзор

Операция Pay выполняет платеж после успешной проверки (см. Документация по операции Check). Она завершает процесс оплаты, переводя средства на счет получателя.

Запрос на оплату (Pay Request)

После успешной проверки отправляется следующий запрос для выполнения платежа:

{
  "billId": 1024****65,
  "amount": null,
  "type": "PC",
  "gatewayAmount": null,
  "settingId": null,
  "params": {
    "cardId": "1d65****-****-****-****-****3536",
    "otp": 29****78,
    "phone": "99890******07",
    "bookId": 15****69,
    "pan": "5440********3132",
    "exp": 28**03
  },
  "agentParams": {},
  "tranId": null
}

Параметры запроса на оплату

Параметр
Тип
Обязательный
Описание

billId

Long

Да

Идентификатор счета (получен из ответа на проверку)

amount

Long/null

Нет

Сумма платежа (если null, используется сумма из проверки)

type

String

Да

Тип операции ("PC" - платежная карта)

gatewayAmount

Long/null

Нет

Сумма шлюза

settingId

Long/null

Нет

Идентификатор настроек

params

Map<String,Object>

Да

Параметры платежа

params.cardId

String (UUID)

Да

Идентификатор карты

params.otp

Integer

Да

Код подтверждения SMS

params.phone

String

Да

Номер телефона

params.bookId

Long

Да

Идентификатор книги

params.pan

String

Да

Номер карты

params.exp

Integer (YYMM)

Да

Срок действия карты

agentParams

Map<String,Object>

Нет

Параметры агента

tranId

String/null

Нет

Идентификатор транзакции

Ответ на оплату (Pay 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-объект)

statusCode

Integer

Код статуса (0 - успех, другие значения - ошибка)

statusMessage

String/null

Сообщение о статусе

problemStatus

ProblemStatus/null

Статус проблемы

gatewayName

String/null

Название шлюза

sender

P2pParticipantDto

Информация об отправителе

sender.name

String

Имя отправителя

sender.amount

Long

Сумма отправки

sender.commissionAmount

Long

Сумма комиссии

sender.commission

Object/null

Детали комиссии

sender.currency

Integer

Код валюты

sender.data

Map<String,Object>

Дополнительные данные отправителя

receiver

P2pParticipantDto

Информация о получателе

receiver.name

String

Имя получателя

receiver.amount

Long

Сумма получения

receiver.commissionAmount

Long

Сумма комиссии

receiver.commission

Object/null

Детали комиссии

receiver.currency

Integer

Код валюты

receiver.data

Map<String,Object>

Дополнительные данные получателя

Статусы транзакций для операции оплаты

  • PAYING - Платеж в процессе

  • SUCCESS - Платеж успешен

  • FAILED - Платеж не удался

  • WAITING - Ожидание (для асинхронных сервисов)

  • CANCELLED - Платеж отменен

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

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

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

  3. OTP: Убедитесь, что код подтверждения SMS введен правильно.

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

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

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

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

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

Last updated