Перейти к основному содержимому

CreateTransaction

Метод CreateTransaction возвращает список получателей платежа. Когда инициатор платежа является получателем, поле receivers можно опустить или присвоить ему значение NULL.

Если транзакция уже создана, приложение мерчанта производит базовую проверку транзакции и возвращает результат проверки в Payme Business.

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

  • Хранить транзакции следует в постоянном хранилище.

  • Следует проверять наличие счёта плательщика в поле account. Если счет плательщика не найден — следует возвращать ошибку (-31050 — -31099).

  • Следует проверять соответствие суммы платежа сумме выставленного счёта.

  • Следует бронировать заказ покупателя и все входящие в него товары до оплаты или отмены по таймауту.

  • Следует исключить возможность изменения заказа покупателем.

  • У неоплаченных заказов следует установить статус “ожидание оплаты”.

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

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

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

ИмяТипОписание
idIDИдентификатор транзакции Payme Business.
timeTimestampВремя создания транзакции Payme Business.
amountAmountСумма платежа (в тийинах).
accountAccountСчет потребителя услуг.

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

{
"method" : "CreateTransaction",
"params" : {
"id" : "5305e3bab097f420a62ced0b",
"time" : 1399114284039,
"amount" : 500000,
"account" : {
"phone" : "903595731"
}
}
}

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

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

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

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

{
"result" : {
"create_time" : 1399114284039,
"transaction" : "5123",
"state" : 1
}
}

//Цепной платеж
//на счет владельца поступит 2тыс сум,
//на счет другого поставщика поступит 3тыс сум

{
"result" : {
"create_time" : 1399114284039,
"transaction" : "5123",
"state" : 1,
"receivers" : [
{
"id" : "5305e3bab097f420a62ced0b",
"amount" : 200000
},
{
"id" : "4215e6bab097f420a62ced01",
"amount" : 300000
}
]
}
}

Коды ошибок

КодОписание
-31001Неверная сумма.
-31008Невозможно выполнить операцию.
-31050 — -31099Ошибки неверного ввода данных покупателем account, например: не найден введёный логин, не найден введенный номер телефона и т.д. Локализованное поле message обязательно. Поле data должно содержать название субполя account.