Для работы в сети кассового провайдера нам понадобятся следующие параметры:
login="hgdhsgf-sdfgtght-hytyju" //Логин в сети провайдера password="kjhoijdkfjghhwagdsdfs" //Параметр apikey при интеграции с Life Pay INN="XXXXXXXXX" // ИНН организации partner_email="email@mail.org" //Актуальный адрес электронной почты shop_hostname="https://site.ru" //Домен магазина access_group_code="group_code_XXXXX" //Идентификатор группы ККТ api_version="XX.0X" //Только для провайдера АТОЛ Онлайн
Предоставить их можно в письме для отдела технической интеграции.
Передача данных для печати чека становится возможной только после внесения правок на стороне сервиса!
Процесс формирования массива данных для печати фискального чека.
Массив с перечисленными ниже данными отправляется в параметре invoice_data среди прочих параметров при инициации платежа.
Таблица 1. Спецификация поля invoice_data
Параметр | Тип | Назначение | Обязательный | Ограничения | Пример |
---|---|---|---|---|---|
items | Array | Позиции по счету/чеку | Да | Не пустой массив объектов (см. Таблицу 2) | [{"code": "21321312122", "name": "Маракуя", "unit": "kg", "price": 340.00, "quantity": 1, "sum":340.00, "vat_mode": "none:}, {"code": "21321312123", "name": "Кокос", "unit": "piece", "price": 85.00, "quantity": 1, "sum":85.00, "vat_mode": "none"}] |
vat_total | Number | В т.ч. НДС | нет | > 0 | 85.22 |
discount_total | Number | В т.ч. скидка | нет | > 0 | 12.22 |
Таблица 2. Спецификация элемента массива invoice_data/items
Параметр | Тип | Назначение | Обязательный | Ограничения | Пример | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
code | String | Код товара | Нет | - | 1000000000021 | ||||||||||||||||||||||||||||
name | String | Наименование товара | Да | Не более 256 символов | Марципан | ||||||||||||||||||||||||||||
price | Number | Цена за единицу | Да | >=0 | 145.00 | ||||||||||||||||||||||||||||
unit | String | Единица измерения | Да | Один из:
| piece | ||||||||||||||||||||||||||||
quantity | Number | Количество единиц | Да | >0 | 2, 3.5 | ||||||||||||||||||||||||||||
sum | Number | Цена | Да | >=0 | 249.50 | ||||||||||||||||||||||||||||
vat_mode | String | Тип НДС | Да | Один из:
| vat18 | ||||||||||||||||||||||||||||
vat_amount | Number | Размер НДС | Нет | >0 | 52.22 | ||||||||||||||||||||||||||||
discount_rate | Number | Скидка в процентах | Нет | >0 | 5.0 | ||||||||||||||||||||||||||||
discount_amount | Number | Скидка в рублях (вкл. в стоимость) | Нет | >0 | 25.3 | ||||||||||||||||||||||||||||
payment_method | String | Признак способа расчёта | Нет | Один из:
| |||||||||||||||||||||||||||||
payment_object | String | Признак предмета расчёта | Нет | Один из:
|
Листинг 1. JSON-схема поля invoice_data
{ "$schema": "http://json-schema.org/draft-04/schema#", "title": "Invoice data", "type": "object", "required": [ "items" ], "additionalProperties": false, "properties": { "items": { "type": "array", "minItems": 1, "maxItems": 100, "items": { "type": "object", "required": [ "name", "price", "unit", "quantity", "sum", "vat_mode" ], "additionalProperties": false, "properties": { "code": { "type": "string" }, "name": { "type": "string" }, "price": { "type": "number", "minimum": 0 }, "unit": { "enum": [ "piece", "service", "package", "g", "kg", "t", "ml", "l", "m3", "hr", "m", "km" ] }, "quantity": { "type": "number", "minimum": 0, "exclusiveMinimum": true }, "sum": { "type": "number", "minimum": 0 }, "vat_mode": { "enum": ["none", "vat0", "vat10", "vat110", "vat18", "vat118", "vat20", "vat120"] }, "vat_amount": { "type": "number", "minimum": 0, "exclusiveMinimum": true }, "discount_rate": { "type": "number", "minimum": 0, "exclusiveMinimum": true }, "discount_amount": { "type": "number", "minimum": 0, "exclusiveMinimum": true }, "payment_method": { "enum": ["full_prepayment", "prepayment", "advance", "full_payment", "partial_payment", "credit", "credit_payment"] }, "payment_object": { "enum": ["commodity", "excise", "job", "service", "gambling_bet", "gambling_prize", "lottery", "lottery_prize", "intellectual_activity", "payment", "agent_commission", "composite", "another"] } } } }, "vat_total": { "type": "number", "minimum": 0, "exclusiveMinimum": true }, "discount_total": { "type": "number", "minimum": 0, "exclusiveMinimum": true } } }
Листинг 2. Пример заполненного поля invoice_data
// Вариант с НДС. Можно задавать различные виды НДС по позициям { "items": [ {"code": "21321312122", "name": "Маракуя", "unit": "kg", "price": 340.00, "quantity": 1, "sum": 340.00, "vat_mode": "vat18", "vat_amount": 51.86}, {"code": "21321312123", "name": "Кокос", "unit": "piece", "price": 85.00, "quantity": 1, "sum": 85.00, "vat_mode": "vat10", "vat_amount": 7.73} ], "vat_total": 59.59 } // Если НДС не облагается { "items": [ {"code": "21321312122", "name": "Маракуя", "unit": "kg", "price": 340.00, "quantity": 1, "sum":340.00, "vat_mode": "none"}, {"code": "21321312123", "name": "Кокос", "unit": "piece", "price": 85.00, "quantity": 1, "sum":85.00, "vat_mode": "none"} ] }