Параметры для формирования чека
Чтобы сформировать чек требуется в запросе на создание платежа указать дополнительные параметры:
Параметр | Тип | Описание |
customerEmail | строка | Email плательщика |
customerPhone | число | Телефон плательщика в международном формате без "+" |
cashItems | строка | Позиции заказа
Получается путем кодирования base64 значения в формате json. Например:
Получившееся значение необходимо кодировать в URL формат, чтобы ссылка на оплату открылась корректно. |
Для формирования чека возврата достаточно передать cashItems. CustomerEmail или customerPhone не требуются
С 1.02.2021 года в кассовом чеке нужно обязательно указывать корректно номенклатуру (наименование, количество, цену) за товары/услуги в cashItems.
Параметр cashItems формируется из:
Параметр | Тип | Описание |
name | string | Название позиции (обязательный параметр): не более 128 символов для одной позиции |
count | number | Количество (обязательный параметр): суммарно в чеке не может быть более 100 позиций |
price | number | Цена за единицу товара (обязательный параметр) |
currency | string | По умолчанию всегда RUB (если ваши товары/услуги в рублях, то currency отдельно можно не передавать). Валюта заказа по стандарту ISO 4217 (UAH, BYN, EUR, USD и тд. Полный список валют). В чеке у пользователя всегда будут рубли, даже если вы передали валюту, отличную от RUB (конвертация происходит на стороне Unitpay). |
nds | string | Размер ставки НДС: none vat0 vat10 vat20 vat110 (ставка 10/110, применяется только для чеков с признаками способа расчета "Предоплата, Предоплата 100% и Аванс) vat120 (ставка 20/120, применяется только для чеков с признаками способа расчета "Предоплата, Предоплата 100% и Аванс) |
type | string | Список типов позиций: https://help.unitpay.ru/online-cash-register/types-for-online-cashbox |
paymentMethod | string | Признак способа расчета: full_payment - полный расчет (Используется по умолчанию) full_prepayment - предоплата 100% prepayment - предоплата advance - аванс |
sum | number | Сумма (необязательный параметр): обязателен только при использовании промокодов, купонов и скидочных сертификатов (в sum передается значение после применения скидки на товары, sum всегда должен быть меньше или равен произведению price*count). |
Если в ссылку/запрос передается информация о нескольких товарах, то их нужно передать через запятую в виде массива: [{...},{...},{...}].
При продаже маркированного товара с 1 марта 2020 года должен отображаться признак маркировки: markCode. При формировании чека на маркированные товары должны быть переданы дополнительные параметры:
Параметр paymentMethod необязательный и может быть так же задан в настройках кассы в личном кабинете Unitpay. При этом приоритет выбора будет такой: 1) Данные из запроса cashItems на создание платежа 2) Данные из настройки кассы 3) Если не заданы пункты 1 и 2, то по умолчанию - full_payment
Параметр | Тип | Описание |
markCode | string | Код маркировки товара в формате, соответствующем требованиям ФНС России |
quantity | number | Количество товара. Суммарно в чеке не может быть более 100 позиций. |
measure | number | Единицы измерения количества предмета расчета. Может принимать одно из значений: 0 - применяется для предметов расчета, которые могут быть реализованы поштучно или единицами; 10 - грамм; 11 - килограмм; 12 - тонна; 20 - сантиметр. Если продается штучный товар, то measure всегда = 0. Если на одну конкретную единицу товара одна маркировка, то указывается quantity = 1, а mark_quantity не включается в запрос. |
markQuantity | array | Объем товаров в маркированной партии. Если в упаковке с единой маркировкой, например, 10 штук товара и вы продаете из коробки 2 штуки, то указывается quantity = 1, а в mark_quantity в числителе numerator = 2, в знаменателе denominator = 10. Пример:
|
Важное замечание: Сумма заказа (sum) должна быть больше или равна price*count (из cashItems). Если сумма заказа больше, то в чек добавится дополнительное наименование "Корректировка итога". Если сумма заказа меньше price*count, то при переходе на оплату по сформированной ссылке / при инициации такого запроса к API, ответ от сервера будет выглядеть так: "Сумма позиций больше стоимости заказа".
Last updated