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

CheckPerformTransaction

Если оплата возможна — метод CheckPerformTransaction возвращает результат allow. Если оплата невозможна — метод возвращает ошибку.

На этапе проверки возможности проведения транзакции, рекомендуется проверить все системы задействованные при выполнении методов: CreateTransaction и PerformTransaction. Если нарушена работа хотя бы одной из задействованных систем, то при выполнении вышеуказанных методов необходимо вернуть ошибку -32400 (Системная ошибка).

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

ИмяТипОписание
amountAmountСумма платежа (в тийинах).
accountAccountСчет потребителя услуг.

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

{
"method" : "CheckPerformTransaction",
"params" : {
"amount" : 500000,
"account" : {
"phone" : "903595731"
}
}
}

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

ИмяТипОписание
allowBooleanЕсли флаг 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_typeNumberПродажа/Возврат = 0да
shippingObjectДоставканет
itemsArrayТоварная позицияда

Параметры массива items

ИмяТипОписаниеОбязательное поле
discountNumberСкидка с учетом количества товаров или услуг в тийинахнет
titleStringНазвание продуктада
priceNumberЦена за единицу товара или услугу в тийинахда
countNumberКоличество товаров или услугда
codeStringИКПУ (идентификационный код продукции и услуг)да
unitsNumberКод единицы измерениянет
package_codeStringКод упаковки продуктада
vat_percentNumberПроцент уплачиваемого НДС для данного товарада