...
Клавиатурная касса | Touch-касса |
---|---|
1. На подытоге, кассир выбирает способ оплаты чека через QR-код: | |
2. В зависимости от настроек, кассовая программа выводит QR-код на экран дисплея покупателя: | |
либо на чековую ленту: либо одновременно на чековую ленту и на дисплей покупателя. 3. В ожидании пока покупатель считает QR-код, касса демонстрирует следующее сообщение: | |
4. Как только покупатель считает QR-код на своем устройстве и произведет оплату, чек завершится штатным образом: | |
Якорь | ||||
---|---|---|---|---|
|
Некоторыми из наших клиентов справедливо подмечено, что оплата с помощью СБП по динамическим QR-кодам иногда может затрудняться проблемами с демонстрацией этого QR-кода покупателю, так как не на каждой кассе есть возможность вывести QR-код на экран, а в печатном виде он может иметь дефекты.
Проблему корректного отображения QR-кодов можно решить с помощью кассовой платёжной ссылки СБП. Такой QR-код присваивается непосредственно кассе, и для совершения оплаты касса активизирует его с нужной суммой. После проведения оплаты данный QR-код блокируется до следующей оплаты.
Так как сам QR-код не изменяется, то его изображение можно распечатать и разместить на кассе в виде наклейки или NFC-метки. Вдобавок к этому, по просьбе к команде техподдержки продукта, можно также настроить вывод такого QR-кода на экран покупателя, чековую ленту или экран киоска, при условии их наличия в магазине.
Некоторые банки имеют общий процессинговый центр для обработки платежей по динамическим QR-кодам и по кассовым платёжным ссылкам СБП. Получить кассовые платёжные ссылки для каждой кассы торговой сети может только юридическое лицо в клиентском приложении банка.
На практике, сценарий оплаты по кассовой ссылке СБП выглядит следующим образом:
- Кассир формирует чек.
- Кассир переходит в режим оплаты.
- Кассир уточняет у покупателя способ оплаты.
- Покупатель сообщает, что будет оплачивать покупку с использованием QR-кода.
- Кассир выбирает вид оплаты по QR-коду и, при необходимости, изменяет сумму оплаты.
- Касса отправляет запрос в Универсальный интегратор.
- Универсальный интегратор отправляет запрос на создание заказа в процессинг банка.
- Если процессинг банка вернул положительный ответ, Универсальный интегратор возвращает этот ответ на кассу.
- Покупатель считывает QR-код с наклейки мобильным приложением банка.
- Касса выводит кассиру диалоговое окно с просьбой подтвердить, что покупатель успешно сканировал QR-код и выполнил оплату.
- Кассир подтверждает сканирование QR-кода и оплату.
- Касса отправляет запрос в Универсальный интегратор.
- Универсальный интегратор отправляет запрос на получение статуса заказа в процессинг банка.
- Процессинг банка возвращает ответ в Универсальный интегратор.
- Универсальный интегратор возвращает ответ на кассу.
- Касса получает ответ о статусе проведения платежа: если получено подтверждение ответа, касса добавляет QR-оплату в чек.
- Касса закрывает чек.
При получении отрицательного ответа от любой из систем или в случае невозможности выполнить QR-оплату на стороне покупателя, платеж отменяется и кассир предлагает клиенту выбрать другой способ оплаты чека.
Якорьlinkcheck linkcheck
Проверка платёжной ссылки СБП (только для банков Райффайзен, Газпром, Русский Стандарт)
linkcheck | |
linkcheck |
...
Индивидуальные настройки Универсального интегратора для банков
Отображение дочерних |
---|
Якорь | ||||
---|---|---|---|---|
|
1. Перейти на кассовом сервере по адресу: Магазин – Типы касс, выбрать тип кассы и нажать кнопку Настройки:
...
3 – QR-код будет отображен на дисплее покупателя (рекомендовано для обычных касс в комплекте с дисплеем покупателя).
3. Нужно также проверить, присутствует ли файл payment_qrpay_ui.conf в разделе services\payment: Якорь genset genset
4. Следует добавить в конфигурационный файл payment.conf (services\payment\payment.conf) приведенную ниже строку, а затем сохранить изменения:
Блок кода | ||||
---|---|---|---|---|
| ||||
{ include file("conf/services/payment/payment_qrpay_ui.conf") } |
.
В данном файле следует прописать в качестве значения параметра modulePay то значение, которое указано для конкретного банка, QR-оплату которого вы настраиваете. То же самое касается параметров moduleCancel и subsystem. Например, на скриншоте ниже выполнены настройки для Райффайзенбанка (оплата по динамическому QR):
Примечание. При желании настроить QR-оплату с помощью кассовой платежной ссылки нужно выбирать значения всех параметров с припиской _variable.
Выполненные настройки необходимо сохранить.
Примечание. В случае настройки функционала QR Сбербанк SberPay (customer), помимо выбора значений параметров modulePay, moduleCancel и subsystem, также необходимо установить параметр scanQRCode = true, после чего сохранить файл: Якорь custqr custqr
4. Следует добавить в конфигурационный файл payment.conf (services\payment\payment.conf) приведенную ниже строку, а затем сохранить изменения:
Блок кода | ||||
---|---|---|---|---|
| ||||
{ include file("conf/services/payment/payment_qrpay_ui.conf") } |
При оплате по QR-коду можно передавать в Универсальный интегратор значение поля Код ЦФО.
5. В конфигурационном файле payment_qrpay_ui.conf по адресу: services\payment\payment_qrpay_ui.conf хранятся настройки доступа к Универсальному интегратору, специфические конфигурации для каждого банка-партнера, а также прочие параметры:
Нужные строки с конфигурацией для каждого банка необходимо раскомментировать, после чего файл – сохранить.
Дополнительные настройки для киосков и касс самообслуживания
В дополнение к перечисленным выше настройкам, обязательным для любых касс, для касс самообслуживания УКМ 5 выполняется специфичная настройка, отвечающая за отображение на экране анимации при оплате по QR-коду.
Настройка выполняется в конфигурационном файле sale.conf (applications\sale\sale.conf):
В раздел bl данного файла нужно добавить следующий фрагмент, после чего сохранить файл:
Блок кода | ||||
---|---|---|---|---|
| ||||
kiosk2: {
negativeSoundEffects = false #приоритет 1
voiceSoundEffects = true #приоритет 2
positiveEffect = true
positiveAnimationTimer=[500, 1000, 500]
extendedRecognition = true # Расширенное распознавание, доступно при наличие лицензии киоск2
isAnimatedIcons = true
emptyReceiptSlideShow = [scanBarCode, vision, QRPay]
useVideoSelfie = true
addItemMultiplier = 1.5
} |
Проверка многоразовой платёжной ссылки СБП
Функционал проверки платежной ссылки СБП (для банков Райффайзен и Русский Стандарт) требует следующих настроек:
1. В конфигурационном файле reports.conf (services\reports\reports.conf) необходимо разместить следующую строку:
Блок кода | ||||
---|---|---|---|---|
| ||||
# ,{ include file("conf/services/reports/qr_checker.conf")} # Проверка статического QR-кода |
2. В разделе services\reports нужно разместить конфигурационный файл qr_checker.conf. Он имеет несколько разный вид, в зависимости от банка:
Дополнительные настройки для киосков и касс самообслуживания
В дополнение к перечисленным выше настройкам, обязательным для любых касс, для касс самообслуживания УКМ 5 выполняется специфичная настройка, отвечающая за отображение на экране анимации при оплате по QR-коду.
Настройка выполняется в конфигурационном файле sale.conf (applications\sale\sale.conf):
В раздел bl данного файла нужно добавить следующий фрагмент, после чего сохранить файл:
Блок кода | ||||
---|---|---|---|---|
| ||||
kiosk2: {
negativeSoundEffects = false #приоритет 1
voiceSoundEffects = true #приоритет 2
positiveEffect = true
positiveAnimationTimer=[500, 1000, 500]
extendedRecognition = true # Расширенное распознавание, доступно при наличие лицензии киоск2
isAnimatedIcons = true
emptyReceiptSlideShow = [scanBarCode, vision, QRPay]
useVideoSelfie = true
addItemMultiplier = 1.5
} |
Якорь linkset linkset
Проверка многоразовой платёжной ссылки СБП
linkset | |
linkset |
Функционал проверки платежной ссылки СБП (для банков Райффайзен, Газпром и Русский Стандарт) требует следующих настроек:
1. В конфигурационном файле reports.conf (services\reports\reports.conf) необходимо разместить следующую строку:
Блок кода | ||||
---|---|---|---|---|
| ||||
# ,{ include file("conf/services/reports/qr_checker.conf")} # Проверка статического QR-кода |
2. В разделе services\reports нужно разместить конфигурационный файл qr_checker.conf. Он имеет несколько разный вид, в зависимости от конкретного банка: параметры modulePay, moduleCancel и subsystem в данном файле следует выставить идентичными значениям этих же параметров в настройках QR-оплаты:
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
# QR-оплаты. Операция "Проверка статического QR-кода"
# Настраивать так же, как и QR-оплату
#
{
"reports.qr_checker": {
params : {
num = 4 # Последовательность отображения отчетов в Приложении "Отчеты".
# В начале меню со списком отчётов отображаются отчёты с меньшими значениями параметра "num".
name = "Проверка статического QR-кода" # Название отчёта в меню "Отчёты"
description = "Проверка соответствия наклеенного на кассе QR-кода с тем, что для этой кассы настроен" # Краткое описание отчёта в этом же меню.
url = "amqp://ukm:xxxxxx@192.168.25.93"
modulePay = "servplus.qrgazprom_variable.payment"
moduleCancel = "servplus.qrgazprom_variable.cancel"
subsystem = "qrgazprom_variable"
amqp = "amq.topic"
amqpTimeout = 10 second
}
}
} |
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
# QR-оплаты. Операция "Проверка статического QR-кода" # Настраивать так же, как и QR-оплату # { "reports.qr_checker": { params : { num = 4 # Последовательность отображения отчетов в Приложении "Отчеты". # В начале меню со списком отчётов отображаются отчёты с меньшими значениями параметра "num". name = "Проверка статического QR-кода" # Название отчёта в меню "Отчёты" description = "Проверка соответствия наклеенного на кассе QR-кода с тем, что для этой кассы настроен" # Краткое описание отчёта в этом же меню. url = "amqp://ukm:xxxxxx@192.168.25.93" modulePay = "servplus.qrrsb_variable.payment" moduleCancel = "servplus.qrrsb_variable.cancel" subsystem = "qrrsb_variable" amqp = "amq.topic" amqpTimeout = 10 second } } } |
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
# QR-оплаты. Операция "Проверка статического QR-кода" # Настраивать так же, как и QR-оплату # { "reports.qr_checker": { params : { num = 4 # Последовательность отображения отчетов в Приложении "Отчеты". # В начале меню со списком отчётов отображаются отчёты с меньшими значениями параметра "num". name = "Проверка статического QR-кода" # Название отчёта в меню "Отчёты" description = "Проверка соответствия наклеенного на кассе QR-кода с тем, что для этой кассы настроен" # Краткое описание отчёта в этом же меню. url = "amqp://ukm:xxxxxx@192.168.25.113" modulePay = "servplus.qrraiffd_variable.payment" moduleCancel = "servplus.qrraiffd_variable.cancel" subsystem = "qrraiffd_variable" amqp = "amq.topic" amqpTimeout = 50 second } } } |
...
Все выполненные настройки необходимо сохранить.