В АПК Ассист предусмотрен функционал, позволяющий реализовать оплату с передачей чека. Этот режим позволяет перейти к детализации в заказе на уровне перечня позиций, по которым осуществляется оплата в рамках заказа.
В структуре передаются следующие параметры позиций чека:
Название | Обязательное поле | Тип значения | Описание |
id | Да | int | Позиция в чеке (уникальное число для чека) |
product | Да/Нет1 | string(50) | Код товара по справочнику товаров магазина |
name | Да/Нет1 | string(250) | Наименование товара |
price | Да | float(10.2) | Стоимость единицы товара (услуги) |
quantity | Да | float | Количество/объем товара/услуги в единицах измерения товара (может быть дробным числом) |
measure | Нет3 | string | |
amount | Да | float(15.2) | Стоимость позиции price*quantity |
tax | Да/Нет2 | string(10) | |
taxes | Да/Нет2 | Array[string] | Массив идентификаторов используемых ставок налога |
gs1code | Нет | string(30) | GS1 DataMatrix код маркировки товара (номер акцизной марки). Примечание. Код должен быть преобразован в BASE64 (URL safe). |
1Должен быть определен один из параметров - код товара или его наименование, либо оба параметра должны быть переданы. В зависимости от переданного значения в ОФД в качестве кода товара будет отправлено число (если было передано число не больше 9223372036854775807), либо в качестве наименования будет отправлена склейка переданного значения с значением наименования в поле name (если была передана строка или число больше 9223372036854775807).
2Обязательным является один из двух параметров Tax (если при платеже использовалась единственная ставка налога) и Taxes (если для платежа использовались несколько ставок налога). Параметр Tax (Taxes) не передаются в запросе на отмену или возврат средств.
3Если параметр не передан, то его значение берется из настроек предприятия.
Значения параметров price и amount всех позиций в чеке должны быть в одной валюте, и эта валюта должна совпадать с валютой заказа (параметр OrderCurrency в авторизационном запросе).
Сумма всех позиций чека (по параметру amount) должна быть равна сумме заказа (параметр OrderAmount в запросе).
Если указанные выше условия не соблюдаются, чек признается неверным и происходит ошибка запроса.