Параметры для формирования чека
Чтобы сформировать чек требуется в запросе на создание платежа указать дополнительные параметры:
Параметр
Тип
Описание
customerEmail
строка
Email плательщика
customerPhone
число
Телефон плательщика в международном формате без "+"
cashItems
строка
Позиции заказа
Получается путем кодирования base64 значения в формате json. Например:
[{"name":"test_oplata","count":1,"price":15,"currency":"RUB","nds":"vat0","type":"commodity","paymentMethod":"full_payment"}]
Получившееся значение необходимо кодировать в URL формат, чтобы ссылка на оплату открылась корректно.
Для формирования чека возврата достаточно передать cashItems. CustomerEmail или customerPhone не требуются
С 1.02.2021 года в кассовом чеке нужно обязательно указывать корректно номенклатуру (наименование, количество, цену) за товары/услуги в cashItems.
Параметр cashItems формируется из:
Параметр
Тип
Описание
name
string
Название позиции (обязательный параметр): не более 128 символов для одной позиции
count
number
Количество (обязательный параметр): суммарно в чеке не может быть более 100 позиций
price
number
Цена за единицу товара (обязательный параметр)
currency
string
nds
string
Размер ставки НДС:
none
vat0
vat10
vat20 vat110 (ставка 10/110, применяется только для чеков с признаками способа расчета "Предоплата, Предоплата 100% и Аванс) vat120 (ставка 20/120, применяется только для чеков с признаками способа расчета "Предоплата, Предоплата 100% и Аванс)
type
string
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.
Пример:
"mark_quantity":{"numerator":2,"denominator":10}
Важное замечание: Сумма заказа (sum) должна быть больше или равна price*count (из cashItems). Если сумма заказа больше, то в чек добавится дополнительное наименование "Корректировка итога". Если сумма заказа меньше price*count, то при переходе на оплату по сформированной ссылке / при инициации такого запроса к API, ответ от сервера будет выглядеть так: "Сумма позиций больше стоимости заказа".
Last updated