Удаленная фискализация
Отправка уведомления об обработке документа
В случае, если в запросе отправки чека на печать в параметре callback_url
, либо в личном кабинете Lifepay в разделе Фискализация
-> Настройки
был указан URL для уведомлений,
Lifepay после обработки документа (смена статуса в “обработан”, “ожидает повтора”, “ошибка”) сформирует уведомление на указанный URL.
Сервер клиента, после успешной обработки уведомления, в ответ на запрос должен вернуть http код 200. Иначе сервер LifePay будет повторять запрос через определенные промежутки времени до получения http кода 200 или до подхода к максимальному лимиту на количество запросов по данному уведомлению. Промежутки повтора запроса: 1 минута, 3 минуты, 5 минут, 10 минут, далее – один раз в час. Всего допустимо не более 10 попыток отправки уведомления.
Тип запроса:
POST
Формат:
JSON
Пример данных печати фискального документа продажи:
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",
"lifepay_transaction": {
"number": "14912372884081",
"internet_acquiring": {
"tid": "490097404",
"order_id": "11795015324012",
"service_id": "65521"
}
}
}
Пример данных печати 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 - печать фискального чека;fiscalPrintFfd1_2 - печать фискального чека ФФД 1.2;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 адрес на чек ОФД (если АПИ получения чека предоставляется ОФД). |
lifepay_transaction | Объект|Массив | Данные из транзакционной системы LIFE PAY |
Описание поля lifepay_transaction
Параметр | Тип | Описание |
---|---|---|
number | Строка | Номер транзакции |
internet_acquiring | Объект|Массив | Информация по транзакции по интернет эквайрингу |
Описание поля internet_acquiring
Параметр | Тип | Описание |
---|---|---|
tid | Строка | Идентификатор транзакции |
order_id | Строка | Номер заказа |
service_id | Строка | Номер сервиса |
Описание поля fiscal_data
Возвращаемые значения зависят от типа команды на ФР и описаны в интерфейсах:
Чек прихода/возврата прихода/расхода/возврата расхода; Чек коррекции прихода/расхода
FiscalChequeDataInterface FiscalSessionDataInterface FiscalDocDataInterface FiscalKktDataInterface
Печать Z отчета
FiscalSessionDataInterface FiscalReportDataInterface FiscalDocDataInterface FiscalKktDataInterface
Печать X отчета
FiscalSessionDataInterface FiscalReportDataInterface FiscalKktDataInterface
Открытие смены
FiscalSessionDataInterface FiscalDocDataInterface FiscalKktDataInterface