Удаленная фискализация

Отправка уведомления об обработке документа

В случае, если в запросе отправки чека на печать в параметре callback_url, либо в личном кабинете Lifepay в разделе Фискализация -> Настройки был указан URL для уведомлений, Lifepay после обработки документа (смена статуса в “обработан”, “ожидает повтора”, “ошибка”) сформирует уведомление на указанный URL.

Сервер клиента, после успешной обработки уведомления, в ответ на запрос должен вернуть http код 200. Иначе сервер LifePay будет повторять запрос через определенные промежутки времени до получения http кода 200 или до подхода к максимальному лимиту на количество запросов по данному уведомлению. Промежутки повтора запроса: 1 минута, 3 минуты, 5 минут, 10 минут, далее – один раз в час. Всего допустимо не более 10 попыток отправки уведомления.

Тип запроса:

POST

Пример данных печати фискального документа продажи:


data: { "mode": "print", "type": "payment", "uuid": "0bf63680-1c0d-5af8-b10c-eb456c603cc7", "ext_id": null, "status": "printed", "attempt": 1, "command": "fiscalPrint", "printer": "atol", "datetime": "2019-03-25T16:33:00+03:00", "repeat_at": null, "error_code": null, "user_login": null, "fiscal_data": { "inn": "7729724371", "fnSn": "99990789463", "summ": 239.45, "agent": 127, "fdNum": "466", "kkmSn": "00106304012797", "kktNum": "0000000357031084", "ofdUrl": "f1test.taxcom.ru", "taxSum": { "none": 0, "vat0": 0, "vat10": 0, "vat18": 0, "vat20": 39.91 }, "address": "г Москва, Ленинская слобода, д 19", "fdValue": "1672477510", "checkNum": "34", "username": "АКЦИОНЕРНОЕ ОБЩЕСТВО \"БЫСТРЫЙ ПЛАТЕЖ\"", "ofdStatus": { "status": 2, "fnError": 0, "ofdError": 0, "queuedDocs": 1, "fnErrorText": "Ошибок нет", "networkError": 0, "ofdErrorText": "Ошибок нет", "networkErrorText": "Ошибок нет", "queuedFirstDocNum": 466, "queuedFirstDocDate": "Mar 25, 2019 4:33:00 PM" }, "cashAmount": 0, "fdDatetime": "Mar 25, 2019 4:33:00 PM", "checkSession": "28", "senderAddress": "noreply@life-pay.ru" }, "callback_data": null, "error_message": null, "customer_email": null, "customer_phone": null, "printer_serial": "00106304012797", "purchase_amount": 293.45, "ofd_url": "https://check-demo.ofd.ru/rec/7729724371/0000012321010134/9999078900000753/346/1039451501" }

Пример данных печати z-отчета:


data: { "mode": "print", "type": null, "uuid": "811a3d39-206f-5a14-b386-435639c68ac8", "ext_id": null, "status": "printed", "attempt": 1, "command": "zReport", "printer": "atol", "datetime": "2019-03-21T17:40:00+03:00", "repeat_at": null, "error_code": null, "user_login": null, "fiscal_data": { "inn": "7729724371", "fnSn": "99990789463", "agent": 127, "fdNum": "382", "kkmSn": "00106304012797", "kktNum": "0000000357031084", "ofdUrl": "f1test.taxcom.ru", "address": "г Москва, Ленинская слобода, д 19", "fdValue": "1966682749", "revenue": 814.9, "checkNum": "0", "username": "АКЦИОНЕРНОЕ ОБЩЕСТВО \"БЫСТРЫЙ ПЛАТЕЖ\"", "cashInSum": 0, "ofdStatus": { "status": 5, "fnError": 0, "ofdError": 0, "queuedDocs": 1, "fnErrorText": "Ошибок нет", "networkError": 0, "ofdErrorText": "Ошибок нет", "networkErrorText": "Ошибок нет", "queuedFirstDocNum": 383, "queuedFirstDocDate": "Mar 21, 2019 5:51:00 PM" }, "cashAmount": 0, "cashOutSum": 0, "fdDatetime": "Mar 21, 2019 5:40:00 PM", "incomeTotal": { "mcSum": 0, "cardSum": 0, "cashSum": 604.9 }, "shiftTaxSum": { "buy": { "none": 0, "vat0": 0, "vat10": 9.09, "vat18": 0, "vat20": 33.33 }, "sell": { "none": 27, "vat0": 0, "vat10": 0, "vat18": 0, "vat20": 96.32 }, "buy_refund": { "none": 380, "vat0": 280, "vat10": 13.64, "vat18": 0, "vat20": 50 }, "sell_refund": { "none": 0, "vat0": 0, "vat10": 9.09, "vat18": 0, "vat20": 83.35 }, "buy_correction": { "none": 0, "vat0": 0, "vat10": 0, "vat18": 0, "vat20": 0 }, "sell_correction": { "none": 0, "vat0": 0, "vat10": 0, "vat18": 0, "vat20": 0 } }, "checkSession": "25", "outcomeTotal": { "mcSum": 0, "cardSum": 0, "cashSum": 600 }, "senderAddress": "noreply@life-pay.ru" }, "callback_data": null, "error_message": null, "customer_email": null, "customer_phone": null, "printer_serial": "00106304012797", "purchase_amount": null }

Описание общих полей

Параметр Тип Описание
mode Строка Режим печати/отправки чека. Возможные значения:
print - распечатать чек (по умолчанию),
email - отправить электронный чек по email и/или смс,
print_email - распечатать чек и отправить по email и/или смс.
type Строка Тип. Возможные значения:
payment - приход;
refund - возврат прихода;
buy - расход;
buy_refund - возврат расхода;
sell_correction - коррекция прихода;
buy_correction - коррекция расхода.
uuid Строка Уникальный идентификатор документа. При запросе отправки чека на печать возвращается в ответе в случае успешного создания.
ext_id Строка Идентификатор в сторонней системе, переданный в запросе отправки чека на печать.
status Строка Статус обработки документа. Возможные значения:
queued - в очереди;
in_progress - обрабатывается;
waiting_for_retry - ожидает повтора;
printed - обработан;
cancelled - отменен;
fail - ошибка;
attempt Целое Номер попытки печати.
command Строка Команда. Возможные значения:
fiscalPrint - печать фискального чека;
chequeCorrection - печать чека коррекции;
zReport - закрытие смены;
openSession - открытие смены;
xReport - печать x-отчета;
chpuPrint - печать дубликата фискального чека;
printer Строка Принтер, который использовался для печати. Возможные значения:
atol - АТОЛ;
shtrih - ШТРИХ;
mstar - МСТАР;
winbond - чекопечатающее устройство Winbond;
printer_serial Строка Серийный номер принтера.
datetime Строка Время обновления информации по документу в формате ISO 8601
repeat_at Строка Планируемое время повторной печати чека после неуспешной обработки в формате ISO 8601
error_code Строка Код ошибки от принтера.
error_message Строка Описание ошибки от принтера.
user_login Строка Логин пользователя, который совершил транзакцию с последующей фискализацией.
fiscal_data json Фискальные данные.
callback_data Строка|Объект|Массив Пользовательские данные, переданные в запросе отправки на печать.
customer_email Строка Email покупателя.
customer_phone Строка Телефон покупателя.
purchase_amount Вещественное Сумма покупки/возврата. Вычисляется по позициям в чеке.
ofd_url Строка URL адрес на чек ОФД (если АПИ получения чека предоставляется ОФД).

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

Возвращаемые значения зависят от типа команды на ФР и описаны в интерфейсах:

Чек прихода/возврата прихода/расхода/возврата расхода; Чек коррекции прихода/расхода

FiscalChequeDataInterface FiscalDocDataInterface FiscalKktDataInterface

Печать Z отчета; Печать X отчета

FiscalReportDataInterface FiscalKktDataInterface

Открытие смены

FiscalKktDataInterface