Перейти к основному содержимому

Принтер чеков

После проведения оплаты, LIFE POS Checkout может распечатать чек на внешнем принтере. Принтер чеков нужно подключить вручную через Checkout. В текущей версии поддерживается только принтер чеков MiNi Thermal Printer. Подключение производится по bluetooth.

Печать текстового чека​

Операция позволяет напечатать чек на принтере. Для этого из вашего приложения нужно передать тело чека. Дополнительно можно передать QR-код для печати после тела и завершающую часть чека.

При успешном запросе Checkout возвращает resultCode = Activity.RESULT_OK (-1) и экземпляр класса Intent с действием action, которое было указано во входящем интенте.

При ошибке Checkout вернёт resultCode со значением отличным от Activity.RESULT_OK или intent будет содержать null.

Для определения факта успешной печати чека проверяйте значение параметра code:

  • значение 0 — чек успешно напечатан;
  • значение отличное от 0 — произошла ошибка.

Описание метода​

Действие: ru.lifepay.checkout.receipt_printer.print_receipt

Параметры запроса:

НазваниеТипОбязательностьЗначение/описание
bodyStringдаТело чека. Отдельные строки должны быть разделены символом \n. Можно использовать поле printView класса FDReceipt, после фискализации.
qr_codeStringнетQR код. Печатается после тела чека, в случае наличия. Можно использовать поле qrCode класса FDReceipt, после фискализации.
footerStringнетЗавершающая часть чека. Печатается после QR кода, в случае наличия. Отдельные строки должны быть разделены символом \n.

В случае необходимости можно передавать поле request_id типа String и поле metadata типа HashMap<String, String>. Они будут возвращаться в ответе. Они не используются для других операций.

Параметры результата при успешной печати:

НазваниеТипОбязательностьЗначение/описание
codeIntда0 - успешная печать текстового чека.

Значения полей можно извлекать из экземпляра класса Bundle получаемого из свойства extras класса Intent при помощи методов extras.getInt(...) и extras.getString(...).

Параметры результата при ошибке:

НазваниеТипОбязательностьЗначение/описание
codeIntдаОтличное от нуля значение. Означает, что произошла ошибка.
messageStringдаТекст ошибки для вывода пользователю.