Сравнение версий
Ключ
- Эта строка добавлена.
- Эта строка удалена.
- Изменено форматирование.
Подсказка | ||
---|---|---|
| ||
Каждый вновь зарегистрированный магазин работает в режиме "одна товарная позиция в одном заказе". Это режим работы по умолчанию и не требует дополнительных действий для получения чеков. |
Примечание |
---|
Передача нескольких товарных позиций для чека становится возможной только после внесения правок на стороне сервиса! По умолчанию по переданному invoice_data печати чека не происходит. Активацию осуществляет отдел технической интеграции: acq_integration@life-pay.ru Для успешного подключения необходимы подписанные документы с компанией LIFE PAY. |
Процесс
API для работы с кассовыми провайдерами LifePay/Атол Онлайн/Комтет касса/KitOnline
Для работы в сети кассового провайдера нам понадобятся следующие параметры:
Блок кода | ||
---|---|---|
| ||
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 |
Примечание | ||
---|---|---|
| ||
Провайдер LifePay не принимает этот параметр. Используйте параметры discount_amount или discount_rate для каждой товарной позиции. |
Таблица 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
supplier_inn | string | ИНН поставщика | Нет | ИНН поставщика. Должен быть корректным. | |
supplier_name | string | Наименование организации поставщика | Нет | Максимальная длина: 256 | |
supplier_phone | string | Телефон поставщика | Нет | телефоны через запятую. Максимальная длина: 19 (для каждого элемента) | |
lifepay.agent_item_type | string | Признак агента по предмету расчета. | Нет | Для подключения возможности передачи данного параметра необходимо обратиться в отдел acq_integration@life-pay.ru либо использовать для фискализации отдельное API https://apidoc.life-pay.ru/cloud-print/index# |
Листинг 1. JSON-схема поля invoice_data
Блок кода | ||
---|---|---|
| ||
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Invoice data",
"type": " | ||
Блок кода | ||
| ||
{
"$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заполненного поля invoice_data
Блок кода | ||
---|---|---|
| ||
// Вариант с НДС. Можно задавать различные виды НДС по позициям
{
"items": [
{"code": "21321312122", "name": "Маракуя", "unit": "kg", "price": 340.00, "quantity": 1, "sum": 340.00, "vat_mode": "vat18", "vat_amount": 51.86}, | ||
Блок кода | ||
| ||
// Вариант с НДС. Можно задавать различные виды НДС по позициям { "items": [ {"code": "2132131212221321312123", "name": "МаракуяКокос", "unit": "piece", "price": 85.00, "quantity": "kg"1, "pricesum": 34085.00, "quantityvat_mode": 1"vat10", "sumvat_amount": 340.00,7.73} ], "vat_mode": "vat18", "vat_amount": 51.86},total": 59.59 } // Если НДС не облагается { "items": [ {"code": "2132131212321321312122", "name": "КокосМаракуя", "unit": "piecekg", "price": 85340.00, "quantity": 1, "sum": 85.00, "vat_mode": "vat10", "vat_amount": 7.73} ], 340.00, "vat_totalmode": 59.59 } // Если НДС не облагается { "none"}, {"itemscode": [ {"code": "21321312122", "name"21321312123", "name": "Кокос", "unit": "piece", "price": 85.00, "quantity": 1, "sum":85.00, "vat_mode": "Маракуя", "unit": "kg", "price": 340.00, "quantity": 1, "sum":340.00, "vat_mode": "none"}, {"code": "21321312123", "name": "Кокосnone"} ] } |
Пример input для кнопки, передающей invoice_data
Блок кода |
---|
<input type='hidden' name='invoice_data' value='{ "items": [ { "code": "054000001R", "name": "Клипса пистон распорный решетки воздухозаборника Лада Ларгус, Рено Логан 054000001R", "unit": "piece", "price": 8540.005, "quantity": 1, "sum":85 40.005, "vat_mode": "none"} ] } |
Пример input для кнопки, передающей invoice_data
Блок кода |
---|
<input type='hidden' name='invoice_data' value='{ "items": [ { "code": "054000001R", "name": "Клипса пистон распорный решетки воздухозаборника Лада Ларгус, Рено Логан 054000001R", "unit": "piece", "price": 40.5, "quantity": 1, "sum": 40.5, "vat_mode": "none"} ] }' /> |
Подсказка |
---|
Генерация html-формы описана в разделе создание кнопки оплаты. |
Формирование чеков при частичной оплате товара.
Оплата товара состоит из нескольких транзакций. Допустим сумма была разделена на две части и была оплачена в разные дни. В таком случае понадобятся чеки, сформированные в три шага:
"none"} ] }' /> |
Подсказка |
---|
Генерация html-формы описана в разделе создание кнопки оплаты. |
Формирование чеков при частичной оплате товара.
Оплата товара состоит из нескольких транзакций. Допустим сумма была разделена на две части и была оплачена в разные дни. В таком случае понадобятся чеки, сформированные в три шага:
- Инициирование первой транзакции с товарными позициями, описанными в документации выше (payment_method отличается от full_payment). Провайдер ОФД распечатает чек частичной оплаты.
- Инициирование второй транзакции с товарными позициями, описанными в документации выше (payment_method отличается от full_payment). Провайдер ОФД распечатает чек частичной оплаты.
Отправить запрос на https://ofd.life-pay.ru/input/. На этот URL необходимо передать только invoice_data с payment_method «full_payment», параметр check (подпись запроса) и first_tid.
Параметр first_tid равен значению tid из коллбэка к транзакции из первого шага. Провайдер ОФД распечатает чек полной оплаты, сумма которого будет равна сумме чеков из первого и второго шагов.Примечание Параметры из раздела Формат отправки данных в запросе от партнёра в третьем шаге не участвуют.
API для работы с другими кассовыми провайдерами Атол Онлайн
Функционал актуален для предприятий, использующих продукт Интернет Эквайринг от компании LIFE PAY, но печать чеков при этом осуществляется другим кассовым провайдером. Для работы в сети кассового провайдера нам понадобятся следующие параметры:
Блок кода | ||
---|---|---|
| ||
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" //Версия апи в АТОЛ Онлайн |
Предоставить их можно в письме отделу технической интеграции
Отправить запрос на https://ofd.rfibank.ru/input/. На этот URL необходимо передать только invoice_data с payment_method «full_payment», параметр check (подпись запроса) и first_tid.
Параметр first_tid равен значению tid из коллбэка к транзакции из первого шага. Провайдер ОФД распечатает чек полной оплаты, сумма которого будет равна сумме чеков из первого и второго шагов.
.
Оглавление |
---|