Ресторан: Печать QR отдельным чеком
Особенность: информация об оплате заказа поступает от платёжного шлюза не мгновенно, а в течение 120 секунд.
После оплаты гостем по QR-коду может пройти от 1 до 120 секунд до того момента, как в r_keeper поступит уведомление об оплате заказа.
Настройка ProQRPay
Необходимо включить данные режим работы в настройках ProQRPay http://127.0.0.1:11040/#/settings
Дополнительно (при наличии лицензии на модуль XML) настроить режим добавления в заказ оплаты или предоплаты, после того как гость завершил оплату заказа через СБП
Настройка автоматических оплат:
При наличии лицензии на XML-интерфейс можно настроить, чтобы заказ в r_keeper автоматически оплачивался при оплате заказа гостем.
Есть 2 варианта работы - «Добавлять предоплату в заказ» и «Добавлять оплату и закрывать заказ».
С точки зрения настройки и эксплуатации - проще «Добавлять оплату и закрывать заказ», его стоит использовать как базовый вариант.
Доступные настройки:
- Код кассы от которой производятся платежи - указываем код кассы с фискальным регистратором в данном ресторане.
- Код сотрудника от которого будет произведена оплата - указываем код кассира, от имени которого в r_keeper будет оплата.
- Код валюты СБП - указываем код валюты, оплата которой будет добавлена в заказ.
Настройка r_keeper
Выполнить базовые настройки r_keeper.
Настроить макет печати QR-кода для оплаты.
Кратко:
- Создать макет и включить его в схему печати
- Создать скрипт вызывающий печать макета
- Создать Пользовательскую операцию со скриптом
- Создать «Функциональную кнопку» с этой операцией
- Добавить кнопку в селектор
- Включить использование селектора
Подробно данный процесс описан тут:
Что должен содержать макет для печати QR-кода для оплаты:
Настройки макета делаются по аналогии с настройкой макета пречека, описанной в статье: Ресторан: Печать QR в пречеке
Кратко:
- Добавить в макет глобальную переменную «qrData».
- В макет вставить текст и код.
- Включить данный макет в используемую схему печати.
Для оплаты счета по СБП считайте код <QRCode [qrData]>
HTTPGet('http://192.168.1.2:11040/api/v1/generate-qrcode?guid=' + [Заказы.GUID] + '&amount=' + IntToStr(Trunc(([Чеки.Сумма]-[Чеки.Оплачено]) * 100)), qrData);
Важно! В функции HTTPGet не рекомендуется использовать адрес вида «127.0.0.1»
Лучше использовать реальный IP адрес машины на которой установлен модуль ProQRPay, потому что:
- «127.0.0.1» не всегда корректно отрабатывает (что приводит к печати «пустого» QR кода без ссылки).
- При работе в ресторане, если указывать реальный IP адрес, то макет для QR оплаты можно будет печатать со станции официанта обращаясь к модулю ProQRPay по сети.