Метод 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 . |