CreateTransaction
Метод CreateTransaction возвращает список получателей платежа. Когда инициатор платежа является получателем,
поле receivers
можно опустить или присвоить ему значение NULL.
Если транзакция уже создана, приложение мерчанта производит базовую проверку транзакции и возвращает результат проверки в Payme Business.
Требования к реализации метода
Хранить транзакции следует в постоянном хранилище.
Следует проверять наличие счёта плательщика в поле
account
. Если счет плательщика не найден — следует возвращать ошибку (-31050 — -31099).Следует проверять соответствие суммы платежа сумме выставленного счёта.
Следует бронировать заказ покупателя и все входящие в него товары до оплаты или отмены по таймауту.
Следует исключить возможность изменения заказа покупателем.
У неоплаченных заказов следует установить статус “ожидание оплаты”.
Отмена по таймауту
Отмена транзакции по таймауту производится через 12 часов — 43 200 000 миллисекунд с момента создания транзакции в Payme Business. После отмены по таймауту транзакция переходит в состояние: “Транзакция отменена” (-1), с причиной: “Отмена по таймауту” (4).
Параметры запроса
Имя | Тип | Описание |
---|---|---|
id | ID | Идентификатор транзакции Payme Business. |
time | Timestamp | Время создания транзакции Payme Business. |
amount | Amount | Сумма платежа (в тийинах). |
account | Account | Счет потребителя услуг. |
Пример запроса
{
"method" : "CreateTransaction",
"params" : {
"id" : "5305e3bab097f420a62ced0b",
"time" : 1399114284039,
"amount" : 500000,
"account" : {
"phone" : "903595731"
}
}
}
Параметры ответа
Имя | Тип | Описание |
---|---|---|
create_time | Timestamp | Время создания транзакции в системе мерчанта. |
transaction | String | Номер или идентификатор транзакции в системе мерчанта. Формат строки определяется мерчантом. |
state | State | Состояние транзакции. |
receivers | Receiver[ ] | Список получателей. Необязательный параметр. В случае если владелец приложения является получателем, поле можно опустить или присвоить ему значение 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 . |