Unitpay
Search…
Параметры для формирования чека
Чтобы сформировать чек требуется в запросе на создание платежа указать дополнительные параметры:
Параметр
Тип
Описание
customerEmail
строка
Email плательщика
customerPhone
число
Телефон плательщика в международном формате без "+"
cashItems
строка
Позиции заказа Получается путем кодирования base64 значения в формате json. Например:
base64_encode(json_encode([["name" => "Хостинг на 1 месяц", "count" => 1, "price" => 10.00, "type" => "commodity"]]));
Для формирования чека возврата достаточно передать 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
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
Код маркировки товара в формате, соответствующем требованиям ФНС России (ссылка на http://www.consultant.ru/document/cons_doc_LAW_362322/a25979352fed3ee44244249284fb21451e8118c5/)
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, ответ от сервера будет выглядеть так: "Сумма позиций больше стоимости заказа".
Copy link