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

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

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

Отправка чека на печать

Тип запроса:

POST

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

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

Адрес URL:

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

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

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

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

формат 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; $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));