Чек коррекции

LifePay позволяет удаленно создать чек коррекции в соответствии с требованиями налоговой. Чек коррекции можно создать как посредством запроса по АПИ, так и в личном кабинете Lifepay:

Пример распечатанного чека по запросу:

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

Тип запроса:

POST

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

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

Адрес URL:

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

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

Параметр Тип Описание Обязательный
apikey Строка АПИ-ключ компании в системе Lifepay. Узнать свой АПИ-ключ можно в личном кабинете Lifepay. Да
login Строка Логин администратора компании или торговой точки в системе Lifepay. Если логин относится к торговой точке, к которой привязан принтер, документ будет отправлен на этот принтер. Как правило, логин - номер телефона в формате 7xxxxxxxxxx. Да
initiator Строка Инициатор коррекции. Возможные значения:
independently - самостоятельно (по умолчанию),
directive - по предписанию.
Да
description Строка Описание коррекции. Да
doc_date Строка Дата документа коррекции в формате ГГГГ-ММ-ДД. Да
doc_number Строка Номер документа коррекции. Да
test Целое Тестовый режим отправки запроса без фискализации. Может принимать значения 0, 1, или отсутствовать (фискализировать по умолчанию). В тестовом режиме uuid сгенерирован не будет, оповещения о результате фискализации отправляться не будут. Нет
type Строка Тип коррекции. Возможные значения:
sell_correction - коррекция прихода (по умолчанию),
buy_correction - коррекция расхода.
Нет
card_amount Вещественное | Строка Сумма коррекции по карте. Нет
cash_amount Вещественное | Строка Сумма коррекции по наличным. Нет
prepayment_amount Вещественное | Строка Сумма коррекции по авансу. Нет
credit_amount Вещественное | Строка Сумма коррекции по кредитным стредствам. Нет
mc_amount Вещественное | Строка Сумма коррекции по мобильной коммерции. Нет
cashier_name Строка Имя кассира. Нет
target_serial Строка Серийный номер принтера, на котором необходимо фискализировать данные. Если не задан, чек будет фискализирован на одном из подключенных (активных) фискальных принтеров. Нет
ext_id Строка Идентификатор в сторонней системе. Максимум 50 символов. В случае, если в систему повторно передан запрос с одинаковым ext_id, документ создан не будет, сервер вернет uuid первого документа. Нет
callback_url Строка URL для отправки уведомления об обработке документа. Максимум 255 символов. Уведомление будет сформировано при смене статуса обработки документа на “обработан”, “ожидает повтора”, “ошибка”. Нет
callback_data Строка | Объект | Массив Пользовательские данные, которые будут отправлены обратно на URL, указанный в параметре callback_url. Нет
Новые поля от 16.02.2018:
Параметр Тип Описание Обязательный
tax_system
замечание
Строка Система налогообложения.
Возможные значения:
osn - ОСН
usn6 - УСН доход
usn15 - УСН доход-расход
envd - ЕНВД
eshn - ЕСН
patent - Патент
Нет
Новые поля от 01.07.2018:
Параметр Тип Описание Обязательный
payment_place Строка Место осуществления расчетов между пользователем и покупателем (клиентом) Нет

Замечания

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

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

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

)

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

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

формат json
Object
(
    [code] => 400
    [message] => Ошибка данных.
    [data] => Object
        (
            [target_serial] => Array
                 (
                     [0] => Принтер не найден.
                 )

        )

)

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

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

Пример запроса на языке php:


$data = []; $data['apikey'] = '{your_apikey}'; $data['login'] = '{your_login}'; $data['type'] = 'sell_correction'; $data['description'] = "Тех. неполадка"; $data['doc_date'] = "2017-01-01"; $data['doc_number'] = "3123"; $data['test'] = 0; $data['cash_amount'] = 500; $data['card_amount'] = null; $data['mc_amount'] = null; $data['cashier_name'] = null; $data['target_serial'] = null; $data['payment_place'] = 'Станция метро Выхино (центр зала)'; $request = json_encode($data); $url = "https://sapi.life-pay.ru/cloud-print/create-receipt-correction"; $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));