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.