Создание чека по ФФД 1.2

LifePay позволяет удаленно создать фискальный чек (в том числе коррекции) в соответствии с ФФД 1.2.

Отличительные особенности запроса на формирование чека по ФФД 1.2 от ФФД 1.05.

Основные данные чека

  • type - увеличилось кол-во возможных значений признака расчета. Теперь кассовые чеки коррекции формируются аналогично обычному чеку с указанием типа совершаемой коррекции.
  • industry_props – включается в состав чека если включение этого реквизита предусмотрено законодательством РФ.
  • correction_doc_date, correction_initiator - обязательные при значении реквизита type равным sell_correction, sell_return_correction, buy_correction, buy_return_correction.
  • agent – признак агента на весь чек исключен из ФФД 1.2

Для позиций

  • item_type - расширен до 31 значения.
  • supplier_inn, supplier_data – обязательные если передан agent_item_type
  • marking_code – при наличии, обязательная передача всего кода маркировки как есть, со всеми символами-разделителями, если таковые присутствуют.
  • marking_code_status – планируемый статус товара при передачи кода маркировки, в зависимости от выбранного значения означает передачу или получение штучного или весового товара.
  • marking_fractional_quantity – дробное кол-во штучного маркируемого товара, используется при продаже частями товара имеющего только маркировку упаковки (например, штучная реализация ампул лекарственных препаратов из маркируемой упаковки)
  • measurement_unit – новый параметр, вместо “unit”, в ФФД 1.2 носит обязательный характер, выбор возможен только из значений по ФФД. Если не передан по умолчанию передается значение 0 – «шт.».
  • item_industry_props - включается в состав чека если включение этого реквизита предусмотрено законодательством РФ.

Отправка чека на фискализацию

Тип запроса:

POST

Формат данных:

Данные в теле запроса предварительно сериализуются в json-формат

Адрес URL:

https://sapi.life-pay.ru/cloud-print-ffd1_2/create-receipt

Условные обозначения в формате данных

Обозначение Описание
Ц Атрибут, обозначающий, что данные реквизита должны быть представлены в виде цифры
С Атрибут, обозначающий, что данные реквизита должны быть представлены в виде символа
{} Атрибут повторяемый

Описание полей

Параметр Тег Тип Описание Обязательный Формат Максимальная длина
apikey Строка АПИ-ключ компании в системе Lifepay. Узнать свой АПИ-ключ можно в личном кабинете Lifepay. Да {С} 255
login Строка Логин администратора компании или торговой точки в системе Lifepay. Если логин относится к торговой точке, к которой привязан принтер, документ будет отправлен на этот принтер. Да 7{Ц} 11
purchase Массив Позиции в чеке. Да
test Целое Тестовый режим отправки запроса без фискализации. Может принимать значения 0, 1, или отсутствовать (фискализировать по умолчанию). В тестовом режиме uuid сгенерирован не будет, оповещения о результате фискализации отправляться не будут. Нет
mode Строка Режим печати/отправки чека. Возможные значения:
email - отправить электронный чек по email и/или смс,
print_email - распечатать чек и отправить по email и/или смс.
Нет
type
значения
1054 Строка Тип документа. Нет
customer_phone 1008 Строка Номер телефона клиента для отправки чека. Нет +{Ц} 15
customer_email 1008 Строка Электронный адрес клиента для отправки чека. Нет {С}@{С} 64
card_amount 1081 Вещественное Сумма, оплаченная клиентом по карте. Особое значение - #. Нет {Ц}.ЦЦ | {Ц}
cash_amount 1031 Вещественное Сумма, оплаченная клиентом наличными. Особое значение - #. Нет {Ц}.ЦЦ | {Ц}
prepayment_amount 1215 Вещественное Сумма, внесенная авансом. Особое значение - #. Нет {Ц}.ЦЦ | {Ц}
credit_amount 1216 Вещественное Сумма, внесенная кредитными средствами. Особое значение - #. Нет {Ц}.ЦЦ | {Ц}
other_amount 1217 Вещественное Сумма иной формы оплаты (встречное предоставление). Особое значение - #. Нет {Ц}.ЦЦ | {Ц}
cashier_name 1021 Строка Имя кассира. Нет {С} 64
cashier_inn 1203 Строка ИНН кассира. Нет {Ц} 12
target_serial Строка Серийный номер принтера, на котором необходимо фискализировать данные. Если не задан, чек будет фискализирован на одном из подключенных (активных) фискальных принтеров. Нет {С}
target_kkt_group_uuid Строка Идентификатор группы касс для фискализации. При задании параметра чек будет фискализирован на одном из ККТ, входящих в указанную группу. Объединить кассы в группы, и получить идентификатор можно в Личном кабинете Lifepay. Нет {С}
chpu_login Строка Логин, на который необходимо направить чек после печати фискального. Нет 7{Ц}
ext_id Строка Идентификатор в сторонней системе. В случае, если в систему повторно передан запрос с одинаковым ext_id, документ создан не будет, сервер вернет uuid первого документа. Нет {С} 50
order_number Строка Номер заказа в сторонней системе. Может использоваться для поиска чека в личном кабинете. Нет {С}
callback_url Строка URL для отправки уведомления об обработке документа. Уведомление будет сформировано при смене статуса обработки документа на “обработан”, “ожидает повтора”, “ошибка”. Нет {С} 255
callback_data Строка | Структура | Массив Пользовательские данные, которые будут отправлены обратно на URL, указанный в параметре callback_url. Нет
ref_uuid
замечание
Строка Идентификатор, который вернул сервер при создании документа. Может использоваться только при возврате прихода (см. замечания). Нет {С} 50
pos
описание
пример
Структура Опции для подключенного POS-терминала (см. описание поля и замечания). Нет
tax_system
замечание
1055 Строка Система налогообложения.
Возможные значения:
osn - ОСН
usn6 - УСН доход
usn15 - УСН доход-расход
eshn - ЕСН
patent - Патент
Нет
payment_place 1187 Строка Место осуществления расчетов между пользователем и покупателем (клиентом) Нет {С} 256
additional_receipt_details 1192 Строка Дополнительный реквизит чека (БСО) Нет {С} 16
receipt_header_lines
описание
пример
Массив Кастомные строки заголовка чека. Нет
sender_email 1117 Строка Электронный адрес (email) отправителя чеков. Нет {С}@{С} 64
additional_user_detail
описание
1084 Структура Дополнительный реквизит пользователя. Нет
industry_props
описание
1261 Структура Отраслевой реквизит чека. Нет
correction_doc_date 1178 Строка Дата совершения корректируемого расчет. Да, при значении реквизита type равным sell_correction, sell_return_correction, buy_correction, buy_return_correction ГГГГ-ММ-ДД
correction_doc_number 1179 Строка Номер предписания налогового органа. Да, при correction_initiator равным directive {С} 32
correction_initiator 1173 Строка Возможные значения:
independently - самостоятельно,
directive - по предписанию.
Да, при значении реквизита type равным sell_correction, sell_return_correction, buy_correction, buy_return_correction
customer_info
описание
1256 Структура Сведения о покупателе (клиенте) Нет

Пример содержимого поля purchase:

{
    "products": [
        {
            "name": "Пылесос SAMSUNG SC6573",
            "price": 9500.59,
            "quantity": 1,
            "tax": "vat20",
            "discount": {
                "type": "percent",
                "value": 10
            },
           "marking_code": "00000123456789aaaaaa!ABm8wAYa",
           "marking_code_status": 2,
           "measurement_unit": 10
        }
    ]
}

Описание поля purchase

Параметр Описание
products Список позиций для печати

Описание позиций в поле products

Параметр Тег Тип Описание Обязательный Формат Максимальная длина
key Целое Индекс позиции в чеке (нужен для сопоставления результата проверки маркировки в fiscal_data). Нет
name 1030 Строка Наименование позиции. Да {С} 128
price 1079 Вещественное Цена за единицу. Да {Ц}.ЦЦ | {Ц}
quantity 1023 Вещественное Количество товаров в позиции. Да {Ц}.ЦЦЦ | {Ц}
tax 1199 Строка Налог на позицию. Возможные значения:
none - НДС не облагается;
vat0 - НДС по ставке 0%;
vat10 - НДС чека по ставке 10%;
vat20 - НДС чека по ставке 20%;
vat110 - НДС расчитанный 10/110;
vat120 - НДС расчитанный 20/120;
Нет
discount Структура Скидка на позицию. Нет
type 1214 Целое Признак способа расчета. Для стандартных случаев данный параметр заполнять не следует.
Возможные значения:
1 - Полная предварительная оплата до момента передачи предмета расчета;
2 - Частичная предварительная оплата до момента передачи предмета расчета;
3 - Аванс;
4 - Полная оплата, в том числе с учетом аванса (предварительной оплаты) в момент передачи предмета расчета;
5 - Частичная оплата предмета расчета в момент его передачи с последующей оплатой в кредит;
6 - Передача предмета расчета без его оплаты в момент его передачи с последующей оплатой в кредит;
7 - Оплата предмета расчета после его передачи с оплатой в кредит (оплата кредита);
Нет
item_type
значения
1212 Целое Признак предмета расчета. Нет
agent_item_type
описание
1222 Массив Признак агента по предмету расчета. Нет
agent_data 1223 Структура Данные агента. Нет
supplier_data 1224 Структура Данные поставщика. Да, если передан agent_item_type
supplier_inn 1226 Строка ИНН поставщика. Должен быть корректным. Да, если передан agent_item_type {Ц} 12
marking_code 1163 Строка Передается код маркировки со всеми символами разделителями, если таковые присутствуют в коде. Нет {С} 256
marking_code_status
значения
2003 Целое Планируемый статус товара. Да, если задано marking_code Ц
measurement_unit
значения
2108 Целое Мера количества предмета расчета. Нет Ц
marking_fractional_quantity 1291 Строка Дробное кол-во ед. товара. Может включаться в состав чека если реквизит measurement_unit равен 0. Передается правильной дробью (1/2, 3/4 и т.д.) Нет {Ц}/{Ц}
item_industry_props
описание
1260 Структура Отраслевой реквизит по предмету расчета. Нет
country_code 1230 Строка Код страны происхождения товара. Нет ЦЦЦ 3
declaration_number 1231 Строка Номер таможенной декларации. Нет {С} 32
excise_amount 1229 Вещественное Сумма акциза в рублях. Нет {Ц}.ЦЦ | {Ц}
additional_detail 1191 Строка Дополнительный реквизит предмета расчета. Нет {С} 64

Описание поля discount объекта products

Параметр Тип Описание Обязательный Формат Максимальная длина
type Строка Тип скидки. Возможные значения:
amount - абсолютное значение,
percent процентное значение.
Да
value Вещественное Значение скидки. Да {Ц}.ЦЦ | {Ц}

Описание поля agent_data объекта products

Параметр Тег Тип Описание Формат Максимальная длина
tag1005 1005 Строка Адрес оператора перевода. {С} 256
tag1016 1016 Строка ИНН оператора перевода. Должен быть корректным. {Ц} 12
tag1026 1026 Строка Наименование оператора перевода. {С} 64
tag1075 1075 Массив строк Телефон оператора перевода. [+{Ц}] 19 (для каждого элемента)
tag1044 1044 Строка Операция платежного агента. {С} 24
tag1073 1073 Массив строк Телефон платежного агента. [+{Ц}] 19 (для каждого элемента)
tag1074 1074 Массив строк Телефон оператора по приему платежей. [+{Ц}] 19 (для каждого элемента)

Описание поля supplier_data объекта products

Параметр Тег Тип Описание Формат Максимальная длина
tag1171 1171 Массив строк Телефон поставщика. [+{Ц}] 19 (для каждого элемента)
tag1225 1225 Строка Наименование поставщика. {С} 256

Возможные значения параметра type

  • payment - приход (по умолчанию)
  • refund - возврат прихода
  • buy - расход
  • buy_refund - возврат расхода
  • sell_correction - чек коррекции прихода
  • sell_return_correction - чек коррекции возврата прихода
  • buy_correction - чек коррекции расхода
  • buy_return_correction - чек коррекции возврата расхода

Возможные значения параметра marking_code_status объекта products

Значение реквизита Описание планируемого статуса товара, подлежащего обязательной маркировке средством идентификации
1 Штучный товар, подлежащий обязательной маркировке средством идентификации, реализован
2 Мерный товар, подлежащий обязательной маркировке средством идентификации, в стадии реализации
3 Штучный товар, подлежащий обязательной маркировке средством идентификации, возвращен
4 Часть товара, подлежащего обязательной маркировке средством идентификации, возвращена
255 Статус товара, подлежащего обязательной маркировке средством идентификации, не изменился

Если значение не передано, то будет подставлено значение по умолчанию:

  • 1 - при type = payment, buy_refund, sell_correction, buy_return_correction
  • 2 - при type = payment, buy_refund, sell_correction, buy_return_correction и весовой товар (дробное кол-во), или если передан параметр marking_fractional_quantity
  • 3 - при type = refund, buy, sell_return_correction, buy_correction
  • 4 - при type = refund, buy, sell_return_correction, buy_correction и весовой товар (дробное кол-во), или если передан параметр marking_fractional_quantity

Возможные значения параметра measurement_unit объекта products

Примечание Значение
Применяется для предметов расчета, которые могут быть реализованы поштучно или единицами 0
Грамм 10
Килограмм 11
Тонна 12
Сантиметр 20
Дециметр 21
Метр 22
Квадратный сантиметр 30
Квадратный дециметр 31
Квадратный метр 32
Миллилитр 40
Литр 41
Кубический метр 42
Киловатт час 50
Гигакалория 51
Сутки (день) 70
Час 71
Минута 72
Секунда 73
Килобайт 80
Мегабайт 81
Гигабайт 82
Терабайт 83
Применяется при использовании иных единиц измерения 255

Возможные значения параметра item_type объекта products

Описание Значение
товар 1
подакцизный товар 2
работа 3
услуга 4
ставка азартной игры 5
выигрыш азартной игры 6
лотерейный билет 7
выигрыш лотереи 8
предоставление результатов интеллектуальной деятельности 9
платеж 10
агентское вознаграждение 11
выплата 12
иной предмет расчета 13
имущественное право 14
внереализационный доход 15
иные платежи и взносы/страховые взносы 16
торговый сбор 17
курортный сбор 18
залог 19
расход 20
взносы на ОПС ИП 21
взносы на ОПС 22
взносы на ОМС ИП 23
взносы на ОМС 24
взносы на ОСС 25
платеж казино 26
выдача денежных средств 27
подакцизный товар, не имеющий код маркировки 30
подакцизный товар, имеющий код маркировки 31
товар, не имеющий код маркировки 32
товар, имеющий код маркировки 33

Описание поля pos

Параметр Описание
perform Перед фискализацией принять карту через POS-терминал. Возможные значения: 0 - не использовать, 1 - использовать.
slip_count Количество слип-чеков, которые необходимо распечатать после успешной транзакции по POS-терминалу. Возможные значения: 0, 1, 2.

Описание поля agent_item_type

Параметр Описание
bankPaymentAgent Оказание услуг покупателю (клиенту) пользователем, являющимся банковским платежным агентом. Возможные значения: 0 - нет, 1 - да.
bankPaymentSubagent Оказание услуг покупателю (клиенту) пользователем, являющимся банковским платежным субагентом. Возможные значения: 0 - нет, 1 - да.
paymentAgent Оказание услуг покупателю (клиенту) пользователем, являющимся платежным агентом. Возможные значения: 0 - нет, 1 - да.
paymentSubagent Оказание услуг покупателю (клиенту) пользователем, являющимся платежным субагентом. Возможные значения: 0 - нет, 1 - да.
attorney Осуществление расчета с покупателем (клиентом) пользователем, являющимся поверенным. Возможные значения: 0 - нет, 1 - да.
commissioner Осуществление расчета с покупателем (клиентом) пользователем, являющимся комиссионером. Возможные значения: 0 - нет, 1 - да.
agent Осуществление расчета с покупателем (клиентом) пользователем, являющимся агентом и не являющимся банковским платежным агентом (субагентом), платежным агентом (субагентом), поверенным, комиссионером. Возможные значения: 0 - нет, 1 - да.

Описание поля receipt_header_lines

Содержит массив строк:

Параметр Тип Описание
text Строка Строка для печати.
align Строка Выравнивание текста. Возможные значения: left, center, right. По умолчанию left.
text_wrap Строка Перенос строки. Возможные значения: no - не переносить, words - переносить по словам. По умолчанию no.
char_size_multiply Целое Мультипликатор ширины и высоты символов. Возможные значения: 1, 2. По умолчанию 1.

Описание поля additional_user_detail

Параметр Тег Тип Описание Формат Максимальная длина
tag1085 1085 Строка Наименование дополнительного реквизита пользователя. {С} 64
tag1086 1086 Строка Значение дополнительного реквизита пользователя. {С} 256

Описание поля industry_props

Параметр Тег Тип Описание Формат Максимальная длина
tag1262 1262 Строка Идентификатор ФОИВ. ЦЦЦ 3
tag1263 1263 Строка Дата документа основания. ДД.ММ.ГГГГ
tag1264 1264 Строка Номер документа основания. {С} 32
tag1265 1265 Строка Значение отраслевого реквизита. {С} 256

Возможные значения параметра tag1262

Наименование ФОИВ Значение реквизита
Министерство внутренних дел Российской Федерации 001
Министерство Российской Федерации по делам гражданской обороны, чрезвычайным ситуациям и ликвидации последствий стихийных бедствий 002
Министерство иностранных дел Российской Федерации 003
Федеральное агентство по делам Содружества Независимых Государств, соотечественников, проживающих за рубежом, и по международному гуманитарному сотрудничеству 004
Министерство обороны Российской Федерации 005
Федеральная служба по военно-техническому сотрудничеству 006
Федеральная служба по техническому и экспортному контролю 007
Министерство юстиции Российской Федерации 008
Федеральная служба исполнения наказаний 009
Федеральная служба судебных приставов 010
Государственная фельдъегерская служба Российской Федерации (федеральная служба) 011
Служба внешней разведки Российской Федерации (федеральная служба) 012
Федеральная служба безопасности Российской Федерации (федеральная служба) 013
Федеральная служба войск национальной гвардии Российской Федерации (федеральная служба) 014
Федеральная служба охраны Российской Федерации (федеральная служба) 015
Федеральная служба по финансовому мониторингу (федеральная служба) 016
Федеральное архивное агентство (федеральное агентство) 017
Главное управление специальных программ Президента Российской Федерации (федеральное агентство) 018
Управление делами Президента Российской Федерации (федеральное агентство) 019
Министерство здравоохранения Российской Федерации 020
Федеральная служба по надзору в сфере здравоохранения 021
Министерство культуры Российской Федерации 022
Министерство науки и высшего образования Российской Федерации 023
Министерство природных ресурсов и экологии Российской Федерации 024
Федеральная служба по гидрометеорологии и мониторингу окружающей среды 025
Федеральная служба по надзору в сфере природопользования 026
Федеральное агентство водных ресурсов 027
Федеральное агентство лесного хозяйства 028
Федеральное агентство по недропользованию 029
Министерство промышленности и торговли Российской Федерации 030
Федеральное агентство по техническому регулированию и метрологии 031
Министерство просвещения Российской Федерации 032
Министерство Российской Федерации по развитию Дальнего Востока и Арктики 033
Министерство сельского хозяйства Российской Федерации 034
Федеральная служба по ветеринарному и фитосанитарному надзору 035
Федеральное агентство по рыболовству 036
Министерство спорта Российской Федерации 037
Министерство строительства и жилищно-коммунального хозяйства Российской Федерации 038
Министерство транспорта Российской Федерации 039
Федеральная служба по надзору в сфере транспорта 040
Федеральное агентство воздушного транспорта 041
Федеральное дорожное агентство 042
Федеральное агентство железнодорожного транспорта 043
Федеральное агентство морского и речного транспорта 044
Министерство труда и социальной защиты Российской Федерации 045
Федеральная служба по труду и занятости 046
Министерство финансов Российской Федерации 047
Федеральная налоговая служба 048
Федеральная пробирная палата (федеральная служба) 049
Федеральная служба по регулированию алкогольного рынка 050
Федеральная таможенная служба 051
Федеральное казначейство (федеральная служба) 052
Федеральное агентство по управлению государственным имуществом 053
Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации 054
Федеральная служба по надзору в сфере связи, информационных технологий и массовых коммуникаций 055
Федеральное агентство по печати и массовым коммуникациям 056
Федеральное агентство связи 057
Министерство экономического развития Российской Федерации 058
Федеральная служба по аккредитации 059
Федеральная служба государственной статистики 060
Федеральная служба по интеллектуальной собственности 061
Федеральное агентство по туризму 062
Министерство энергетики Российской Федерации 063
Федеральная антимонопольная служба 064
Федеральная служба государственной регистрации, кадастра и картографии 065
Федеральная служба по надзору в сфере защиты прав потребителей и благополучия человека 066
Федеральная служба по надзору в сфере образования и науки 067
Федеральная служба по экологическому, технологическому и атомному надзору 068
Федеральное агентство по государственным резервам 069
Федеральное медико-биологическое агентство 070
Федеральное агентство по делам молодежи 071
Федеральное агентство по делам национальностей 072

Описание поля customer_info

Параметр Тег Тип Описание Формат Максимальная длина
tag1227 1227 Строка Покупатель (клиент). {С} 256
tag1228 1228 Строка ИНН покупателя (клиента). {Ц} 12
tag1243 1243 Строка Дата рождения покупателя (клиента). ДД.ММ.ГГГГ
tag1244 1244 Строка Гражданство. Числовой код страны. Код страны указывается в соответствии с Общероссийским классификатором стран мира ОКСМ {Ц} 3
tag1245 1245 Строка Код вида документа, удостоверяющего личность. ЦЦ
tag1246 1246 Строка Данные документа, удостоверяющего личность. {С} 64
tag1254 1254 Строка Адрес покупателя (клиента). {С} 256

Возможные значения параметра tag1245

Значение Описание
21 Паспорт гражданина Российской Федерации
22 Паспорт гражданина Российской Федерации, дипломатический паспорт, служебный паспорт, удостоверяющие личность гражданина Российской Федерации за пределами Российской Федерации
26 Временное удостоверение личности гражданина Российской Федерации, выдаваемое на период оформления паспорта гражданина Российской Федерации
27 Свидетельство о рождении гражданина Российской Федерации (для граждан Российской Федерации в возрасте до 14 лет)
28 Иные документы, признаваемые документами, удостоверяющими личность гражданина Российской Федерации в соответствии с законодательством Российской Федерации
31 Паспорт иностранного гражданина
32 Иные документы, признаваемые документами, удостоверяющими личность иностранного гражданина в соответствии с законодательством Российской Федерации и международным договором Российской Федерации
33 Документ, выданный иностранным государством и признаваемый в соответствии с международным договором Российской Федерации в качестве документа, удостоверяющего личность лица без гражданства
34 Вид на жительство (для лиц без гражданства)
35 Разрешение на временное проживание (для лиц без гражданства)
36 Свидетельство о рассмотрении ходатайства о признании лица без гражданства беженцем на территории Российской Федерации по существу
37 Удостоверение беженца
38 Иные документы, признаваемые документами, удостоверяющими личность лиц без гражданства в соответствии с законодательством Российской Федерации и международным договором Российской Федерации
40 Документ, удостоверяющий личность лица, не имеющего действительного документа, удостоверяющего личность, на период рассмотрения заявления о признании гражданином Российской Федерации или о приеме в гражданство Российской Федерации

Замечания

  1. Ни одно из полей card_amount, `cash_amount“ не являются обязательными, но их сумма должна быть не меньше суммы позиций в чеке. Например, если сумма чека по позициям 1000, card_amount = 700, cash_amount = 500 то это означает, что покупатель оплатил покупку по карте на 700 рублей и 500 рублей наличными, сдача при этом будет составлять 200 рублей.

Если оплата была по карте, то в поле card_amount должна быть указана общая сумма, которую клиент оплатил картой и совпадать с суммой позиций в чеке (в примере выше 239.45 рублей).

Любое из этих полей card_amount, cash_amount, prepayment_amount, credit_amount, other_amount может принимать значение #, которое будет сообщать системе, что значение является вычисляемым: # = {сумма всех позиций из products} - (card_amount + cash_amount + prepayment_amount + credit_amount + other_amount). Данное значение может быть полезно для того, чтобы не вычислять сумму, которую заплатил покупатель по products и не беспокоиться о проблемах с округлением в подсчетах.

В самом простом варианте, если покупка была оплачена, например, по карте, то необходимо заполнить только card_amount = #.

В примере выше, если оплата была по карте на 100, а остальное клиент оплатил наличными, то значения полей можно заполнить как: card_amount = 100, cash_amount = #. В результате cash_amount будет вычислен автоматически и в примере выше будет равен 139.45.

  1. Параметр mode актуален для принтеров, соответствующих 54-ФЗ. Если этот параметр равен email или print_email, электронный чек будет отправлен покупателю по смс или email (в зависимости от заполненности полей customer_phone и customer_email).

  2. Функционал аванса/кредита (в соответствии с ФФД 1.05) доступен на принтерах АТОЛ начиная с версии прошивки 3689. Версию прошивки можно посмотреть в личном кабинете Lifepay в разделе Фискализация -> Принтеры.

  3. Параметр ref_uuid позволяет сопоставить 2 документа - приход и возврат прихода. Актуален только для запроса возврата прихода (type = refund). В случае, если параметр ref_uuid задан, система попытается найти документ прихода и, если он будет найден и сумма возвратов не превышает суммы прихода, создаст документ возврата прихода. Если осуществляется возврат прихода с параметром pos (perform = 1), ref_uuid является обязательным для заполнения для поиска RRN платежа в документе прихода.

  4. Параметр tax_system позволяет фискализировать продажи в случае нескольких СНО. Если товары продаются по одной СНО, а услуги по другой, необходимо сформировать 2 чека с разными значениями tax_system. Если tax_system не будет указана в запросе, система применит значение СНО, установленное в личном кабинете Lifepay. Если в личном кабинете СНО не была установлена, будет применена СНО - ОСН.

  5. Опция pos со значением perform = 1 позволяет перед фискализацией принять оплату/возврат по POS-терминалу, в случае успеха будет распечатан фискальный чек прихода (в случае type = payment), либо возврата прихода (в случае type = refund). Сумма, которая будет отправлена на POS-терминал, берется из параметра card_amount. Поддерживаемые терминалы: Ingenico IPP* с поддержкой библиотеки arcus2.

    Особенности работы с POS-терминалом при удаленной фискализации.

    1. В рамках одной смены до сверки на POS терминале при возврате осуществляется попытка отмены, при ее неудаче обрабатывается возврат.
    2. Смена на терминале закрывается при снятии z-отчета на принтере, подключенному к тому же микрокомпьютеру.
    3. Если смена на терминале не была закрыта в течение 48 часов, сверка осуществляется автоматически спустя 48 часов.
    4. В рамках одного микрокомпьютера можно подключить только 1 POS терминал.
    5. POS терминалу может не хватать питания только лишь от микрокомпьютера (зависит от блока питания). Нехватка питания выражается в постоянной перезагрузке при попытке оплаты. Поможет подключение отдельного питания к POS-терминалу, либо замена блока питания.
    6. Если оплата/возврат по POS терминалу прошла, но чек по каким-либо причинам не распечатался, транзакция откатываться не будет. В зависимости от ошибки принтера, сервер предпримет попытку повторной печати.

Список принтеров или логины пользователей, которые подключены к организации можно посмотреть в личном кабинете Lifepay.

Пример успешного ответа:

формат json
Object
(
    [code] => 0
    [message] =>
    [data] => Object
        (
            [uuid] => dabe3833-43ff-5e5c-a45e-9cff664503ff
        )

)

uuid - уникальный идентификатор документа

Пример ответа при ошибке:

формат json
Object
(
    [code] => 400
    [message] => Ошибка данных.
    [data] => Object
        (
            [purchase] => Array
                (
                    [0] => Ошибка в позиции 1: Значение «Value» не должно превышать 100.
                )

        )

)

Возможные значения поля code:

  • 500 Внутренняя ошибка сервера
  • 400 Ошибка данных
  • 6000 Неверный формат данных
  • 6009 Не удалось найти пользователя по login
  • 6010 Не удалось найти пользователя по login и apikey
  • 6080 Облачная фискализация запрещена
  • 6095 Доступ запрещен

При значении поля “code” = 500 необходимо обратиться в тех поддержку, уточнить причину появления данной ошибки.

Рекомендация:

Если http-код ответа (не путать с полем code) отличен от 200, необходимо повторять запрос с тем же ext_id через некоторые промежутки времени. Промежутки повтора запроса могут быть, например, такими: 1 минута, 3 минуты, 5 минут, далее – один раз в 10 минут до получения http кода ответа 200.

Продажа наличными. Пример запроса на языке php.

Продажа трех позиций на общую сумму 239,45 руб. Покупатель дал 500 руб. Сдача составляет 260,55 руб.

Выставлен режим печати бумажного чека.

$data = [];
$data['apikey'] = '{your_apikey}';
$data['login'] = '{your_login}';
$data['purchase'] = '
  {
      "products": [
          {
              "name": "Пылесос SAMSUNG SC6573",
              "price": 9500.59,
              "quantity": 1,
              "tax": "vat20",
              "discount": {
                  "type": "percent",
                  "value": 10
              },
              "marking_code": "00000123456789aaaaaa!ABm8wAYa",
              "marking_code_status": 1,
              "measurement_unit": 0
          },
          {
              "name": "Монитор DELL U2412M",
              "unit": "piece",
              "price": 20730.00,
              "quantity": 1,
              "tax": "vat20",
              "type": 1,
              "marking_code": "010466006821276821zWyn8vjJ2rp0u\u001d91ffd0\u001d92uMMKlJp9zosKgBPHZlTt0o5MO/LvWVC/g1cZZGHIJDJ5r3YiMTZbGKNWxRpyNCJL+0c8/cvWySuAEv2niJD2sg==",
              "marking_code_status": 1,
              "measurement_unit": 0
          }
      ]
  }
';
$data['type'] = 'payment';
$data['test'] = 0;
$data['customer_phone'] = null;
$data['customer_email'] = null;
$data['cash_amount'] = 500;
$data['card_amount'] = null;
$data['payment_place'] = 'Станция метро Третьяковская (центр зала)';
$data['industry_props'] = [
    'tag1262' => '020',
    'tag1263' => '14.12.2018',
    'tag1264' => '1556',
    'tag1265' => 'tm=mdlp&sid=00000000105200',
];

$request = json_encode($data);

$url = "https://sapi.life-pay.ru/cloud-print-ffd1_2/create-receipt";
$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, $request);

$result = curl_exec($curl);
curl_close($curl);

$resultJson = @json_decode($result);

printf("Res: %s\n", print_r($resultJson ? : $result, true));