Skip to main content

POST CreateTransaction

Создание чека CreateTransaction

Требования к реализации метода

  • Хранить транзакции следует в постоянном хранилище.
  • Следует проверять наличие счёта плательщика в поле account. Если счет плательщика не найден — следует возвращать ошибку (-31050 — -31099).
  • Следует проверять соответствие суммы платежа сумме выставленного счёта.
  • Следует бронировать заказ покупателя и все входящие в него товары до оплаты или отмены по таймауту.
  • Следует исключить возможность изменения заказа покупателем.
  • У неоплаченных заказов следует установить статус “ожидание оплаты”.

Отмена по таймауту

Отмена транзакции по таймауту производится через 12 часов — 43 200 000 миллисекунд с момента создания транзакции. После отмены по таймауту транзакция переходит в состояние: “Транзакция отменена” (-1), с причиной: “Отмена по таймауту” (4).

Параметры запроса

ИмяТипОписание
idStringИдентификатор транзакции
created_timeTimestampВремя создания транзакции
amountLongСумма платежа (в тийинах).
accountListСчет потребителя услуг.

Пример запроса

{
"jsonrpc": "2.0",
"method": "CreateTransaction",
"params": {
"id": "5305e3bab097f420a62ced0b",
"created_time": 1399114284039,
"amount": 500000,
"account": [
{
"Key": "phone",
"Value": "998901112345"
}
]
}
}

Параметры ответа

ИмяТипОписание
created_timeTimestampВремя создания транзакции в системе мерчанта.
transaction_idStringНомер или идентификатор транзакции в системе мерчанта. Формат строки определяется мерчантом.
stateIntegerСостояние транзакции.
receiversReceiver[ ]Список получателей. Необязательный параметр. В случае если владелец приложения является получателем, поле можно опустить или присвоить ему значение NULL.

Пример ответа

//Прямой платеж
//все средства поступят на счет владельца приложения

{
"jsonrpc": "2.0",
"result": {
"create_time": 1399114284039,
"transaction_id": "5123",
"state": 1,
"details" : [
{
"key" : "phone",
"value" : "998901112345"
}
]
}
}

Цепной платеж

ВНИМАНИЕ

ℹ️ Находится в разработке

//на счет владельца поступит 2тыс сум,
//на счет другого поставщика поступит 3тыс сум
{
"jsonrpc": "2.0",
"result": {
"create_time": 1399114284039,
"transaction_id": "5123",
"state": 1,
"receivers": [
{
"id": "5305e3bab097f420a62ced0b",
"amount": 200000
},
{
"id": "4215e6bab097f420a62ced01",
"amount": 300000
}
]
}
}

В случае потери ответа при вызове метода, повторяется запрос с теми же параметрами.