Skip to main content

Создание чека по ФФД 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_phone1008СтрокаНомер телефона клиента для отправки чека.Нет+{Ц}15
customer_email1008СтрокаЭлектронный адрес клиента для отправки чека.Нет{С}@{С}64
card_amount1081ВещественноеСумма, оплаченная клиентом по карте. Особое значение - #.Нет{Ц}.ЦЦ | {Ц}
cash_amount1031ВещественноеСумма, оплаченная клиентом наличными. Особое значение - #.Нет{Ц}.ЦЦ | {Ц}
prepayment_amount1215ВещественноеСумма, внесенная авансом. Особое значение - #.Нет{Ц}.ЦЦ | {Ц}
credit_amount1216ВещественноеСумма, внесенная кредитными средствами. Особое значение - #.Нет{Ц}.ЦЦ | {Ц}
other_amount1217ВещественноеСумма иной формы оплаты (встречное предоставление). Особое значение - #.Нет{Ц}.ЦЦ | {Ц}
cashier_name1021СтрокаИмя кассира.Нет{С}64
cashier_inn1203СтрокаИНН кассира.Нет{Ц}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_place1187СтрокаМесто осуществления расчетов между пользователем и покупателем (клиентом)Нет{С}256
additional_receipt_details1192СтрокаДополнительный реквизит чека (БСО)Нет{С}16
receipt_header_lines описаниепримерМассивКастомные строки заголовка чека.Нет
sender_email1117СтрокаЭлектронный адрес (email) отправителя чеков.Нет{С}@{С}64
additional_user_detail описание1084СтруктураДополнительный реквизит пользователя.Нет
industry_props описание1261СтруктураОтраслевой реквизит чека.Нет
correction_doc_date1178СтрокаДата совершения корректируемого расчёта.Да, если type имеет значение sell_correction, sell_return_correction, buy_correction, buy_return_correctionГГГГ-ММ-ДД
correction_doc_number1179СтрокаНомер предписания налогового органаДа, если correction_initiator имеет значение directive{С}32
correction_initiator1173СтрокаВозможные значения: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).Нет
name1030СтрокаНаименование позиции.Да{С}128
price1079ВещественноеЦена за единицу.Да{Ц}.ЦЦ | {Ц}
quantity1023ВещественноеКоличество товаров в позиции.Да{Ц}.ЦЦЦ | {Ц}
tax1199СтрокаНалог на позицию. Возможные значения: none - НДС не облагается;vat0 - НДС по ставке 0%;vat10 - НДС чека по ставке 10%;vat20 - НДС чека по ставке 20%;vat110 - НДС расчитанный 10/110;vat120 - НДС расчитанный 20/120;Нет
discountСтруктураСкидка на позицию.Нет
type1214ЦелоеПризнак способа расчета. Для стандартных случаев данный параметр заполнять не следует.Возможные значения: 1 - Полная предварительная оплата до момента передачи предмета расчета;2 - Частичная предварительная оплата до момента передачи предмета расчета;3 - Аванс;4 - Полная оплата, в том числе с учетом аванса (предварительной оплаты) в момент передачи предмета расчета;5 - Частичная оплата предмета расчета в момент его передачи с последующей оплатой в кредит;6 - Передача предмета расчета без его оплаты в момент его передачи с последующей оплатой в кредит;7 - Оплата предмета расчета после его передачи с оплатой в кредит (оплата кредита);Нет
item_type значения1212ЦелоеПризнак предмета расчета.Нет
agent_item_type описание1222МассивПризнак агента по предмету расчета.Нет
agent_data1223СтруктураДанные агента.Нет
supplier_data1224СтруктураДанные поставщика.Да, если передан agent_item_type
supplier_inn1226СтрокаИНН поставщика. Должен быть корректным.Да, если передан agent_item_type{Ц}12
marking_code1163СтрокаПередается код маркировки со всеми символами разделителями, если таковые присутствуют в коде.Нет{С}256
marking_code_status значения2003ЦелоеПланируемый статус товара.Да, если задано marking_codeЦ
measurement_unit значения2108ЦелоеМера количества предмета расчета.НетЦ
marking_fractional_quantity1291СтрокаДробное кол-во ед. товара. Может включаться в состав чека если реквизит measurement_unit равен 0. Передается правильной дробью (1/2, 3/4 и т.д.)Нет{Ц}/{Ц}
item_industry_props описание1260СтруктураОтраслевой реквизит по предмету расчета.Нет
country_code1230СтрокаКод страны происхождения товара.НетЦЦЦ3
declaration_number1231СтрокаНомер таможенной декларации.Нет{С}32
excise_amount1229ВещественноеСумма акциза в рублях.Нет{Ц}.ЦЦ | {Ц}
additional_detail1191СтрокаДополнительный реквизит предмета расчета.Нет{С}64
Описание поля discount объекта products
ПараметрТипОписаниеОбязательныйФорматМаксимальная длина
typeСтрокаТип скидки. Возможные значения:amount - абсолютное значение,percent процентное значение.Да
valueВещественноеЗначение скидки.Да{Ц}.ЦЦ | {Ц}
Описание поля agent_data объекта products
ПараметрТегТипОписаниеФорматМаксимальная длина
tag10051005СтрокаАдрес оператора перевода.{С}256
tag10161016СтрокаИНН оператора перевода. Должен быть корректным.{Ц}12
tag10261026СтрокаНаименование оператора перевода.{С}64
tag10751075Массив строкТелефон оператора перевода.[+{Ц}]19 (для каждого элемента)
tag10441044СтрокаОперация платежного агента.{С}24
tag10731073Массив строкТелефон платежного агента.[+{Ц}]19 (для каждого элемента)
tag10741074Массив строкТелефон оператора по приему платежей.[+{Ц}]19 (для каждого элемента)
Описание поля supplier_data объекта products
ПараметрТегТипОписаниеФорматМаксимальная длина
tag11711171Массив строкТелефон поставщика.[+{Ц}]19 (для каждого элемента)
tag12251225СтрокаНаименование поставщика.{С}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
ПараметрТегТипОписаниеФорматМаксимальная длина
tag10851085СтрокаНаименование дополнительного реквизита пользователя.{С}64
tag10861086СтрокаЗначение дополнительного реквизита пользователя.{С}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));