CheckPerformTransaction
Если оплата возможна — метод CheckPerformTransaction возвращает результат allow
. Если оплата невозможна — метод
возвращает ошибку.
На этапе проверки возможности проведения транзакции, рекомендуется проверить все системы задействованные при выполнении
методов: CreateTransaction
и PerformTransaction
. Если нарушена работа хотя бы одной из задействованных систем, то
при выполнении вышеуказанных методов необходимо вернуть ошибку -32400 (Системная ошибка).
Параметры запроса
Имя | Тип | Описание |
---|---|---|
amount | Amount | Сумма платежа (в тийинах). |
account | Account | Счет потребителя услуг. |
Пример запроса
{
"method" : "CheckPerformTransaction",
"params" : {
"amount" : 500000,
"account" : {
"phone" : "903595731"
}
}
}
Параметры ответа
Имя | Тип | Описание |
---|---|---|
allow | Boolean | Если флаг true , транзакция может быть проведена. В других случаях метод возвращает ошибки: -31001; -31050 — -31099. |
Пример ответа
{
"result" : {
"allow" : true
}
}
Коды ошибок
Код | Описание |
---|---|
-31001 | Неверная сумма. |
-31050 - -31099 | Ошибки связанные с неверным пользовательским вводом “account “. Например: введённый логин не найден, введённый номер телефона не найден и т.д. Локализованное поле “message “ обязательно. Поле “data “ должно содержать название субполя “account “. |
Добавление объекта additional
{
"result": {
"allow": true,
"additional": {
"field_name": "field_value"
}
}
}
В объекте additional биллинг поставщика может возвращать дополнительную информацию (баланс пользователя, данные о заказе). Кроме того, добавляя объект additional, следует сообщить об этом техническому специалисту Payme Business.
Добавление объекта detail
{
"result": {
"allow": true,
"additional": {
"field_name": "field_value"
},
"detail": {
"receipt_type" : 0, //тип фискального чека
"shipping": { //доставка, необязательное поле
"title": "Доставка до ттз-4 28/23",
"price": 500000
},
"items": [ //товарная позиция, обязательное поле для фискализации
{
"discount":10000, //Скидка с учетом количества товаров или услуг в тийинах
"title": "Помидоры", //нааименование товара или услуги
"price": 505000, //цена за единицу товара или услуги, сумма указана в тийинах
"count": 2, //кол-во товаров или услуг
"code": "00702001001000001", // код *ИКПУ обязательное поле
"units": 241092, //значение изменится в зависимости от вида товара
"vat_percent": 15, //обязательное поле, процент уплачиваемого НДС для данного товара или услуги
"package_code": "123456" //Код упаковки для конкретного товара или услуги, содержится на сайте в деталях найденного ИКПУ.
}
]
}
}
}
В объекте detail есть возможность передавать данные о товаре или услуге для фискализации чеков
Имя | Тип | Описание | Обязательное поле |
---|---|---|---|
receipt_type | Number | Продажа/Возврат = 0 | да |
shipping | Object | Доставка | нет |
items | Array | Товарная позиция | да |
Параметры массива items
Имя | Тип | Описание | Обязательное поле |
---|---|---|---|
discount | Number | Скидка с учетом количества товаров или услуг в тийинах | нет |
title | String | Название продукта | да |
price | Number | Цена за единицу товара или услугу в тийинах | да |
count | Number | Количество товаров или услуг | да |
code | String | ИКПУ (идентификационный код продукции и услуг) | да |
units | Number | Код единицы измерения | нет |
package_code | String | Код упаковки продукта | да |
vat_percent | Number | Процент уплачиваемого НДС для данного товара | да |