POST CreateTransaction
Создание чека CreateTransaction
Требования к реализации метода
- Хранить транзакции следует в постоянном хранилище.
- Следует проверять наличие счёта плательщика в поле
account. Если счет плательщика не найден — следует возвращать ошибку (-31050 — -31099). - Следует проверять соответствие суммы платежа сумме выставленного счёта.
- Следует бронировать заказ покупателя и все входящие в него товары до оплаты или отмены по таймауту.
- Следует исключить возможность изменения заказа покупателем.
- У неоплаченных заказов следует установить статус “ожидание оплаты”.
Отмена по таймауту
Отмена транзакции по таймауту производится через 12 часов — 43 200 000 миллисекунд с момента создания транзакции. После отмены по таймауту транзакция переходит в состояние: “Транзакция отменена” (-1), с причиной: “Отмена по таймауту” (4).
Параметры запроса
| Имя | Тип | Описание |
|---|---|---|
id | String | Идентификатор транзакции |
created_time | Timestamp | Время создания транзакции |
amount | Long | Сумма платежа (в тийинах). |
account | List | Счет потребителя услуг. |
Пример запроса
{
"jsonrpc": "2.0",
"method": "CreateTransaction",
"params": {
"id": "5305e3bab097f420a62ced0b",
"created_time": 1399114284039,
"amount": 500000,
"account": [
{
"Key": "phone",
"Value": "998901112345"
}
]
}
}
Параметры ответа
| Имя | Тип | Описание |
|---|---|---|
created_time | Timestamp | Время создания транзакции в системе мерчанта. |
transaction_id | String | Номер или идентификатор транзакции в системе мерчанта. Формат строки определяется мерчантом. |
state | Integer | Состояние транзакции. |
receivers | Receiver[ ] | Список получателей. Необязательный параметр. В случае если владелец приложения является получателем, поле можно опустить или присвоить ему значение 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
}
]
}
}
В случае потери ответа при вызове метода, повторяется запрос с теми же параметрами.