Параметры для формирования чека

Чтобы сформировать чек требуется в запросе на создание платежа указать дополнительные параметры:

Параметр

Тип

Описание

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