...
В самом магазине сервер рекомендуется располагать как можно ближе к кассам, во избежание проблем со связью.
Как проверить версию
|
Дистрибутив
Актуальный образ выложен на FTP с последней версией УКМ 4.
Для стабильной работы потребуется последняя актуальная версия интегратора.
Актуальная версия
...
...
ukm_integrator 111 master, 77dcbba
Как проверить версию
Блок кода |
---|
/usr/local/qrpay/qrpayd --version |
Инсталляция и обновление
Инсталлятор
При установке дистрибутива необходимо выбрать из списка доступных программ Universal integrator:
Если виртуальная машина после разворачивания , сначала нужно выбрать раздел Installation on powerful cash registers:
Затем необходимо выбрать пункт UKM4 Integrator (64 bit):
Если после разворачивания виртуальная машина получит сетевое имя, то данное имя надо прописать как 127.0.0.1 в /etc/hosts.
Примечание. Сетевое имя вручную менять нельзя! При этом сбрасываются настройки у RabbitMQ и ничего не работает! При установке Универсального интегратора конфигурационные файлы вспомогательного ПО Универсального интегратора привязываются к hostname, который будет присвоен при инсталляции, и последующая его смена не изменит этих настроек, что приведёт к неработоспособности Универсального интегратора.
В качестве базы данных используется MariaDB.
...
Блок кода | ||||
---|---|---|---|---|
| ||||
chmod +x ./qrpay-update-amd64.sh |
Затем нужно выполнить установку:
Блок кода | ||||
---|---|---|---|---|
| ||||
sudo systemctl stop qrpayd.service
sudo ./qrpay-update-amd64.sh
sudo systemctl start qrpayd.service |
...
Rabbit логин/пароль: admin/admin
Как снимать логи
Нужно подставить дату, за которую требуется получить лог. Полученный файл и есть лог, его и нужно прислать:
Блок кода |
---|
journalctl --since "2022-12-24 00:00:00" --until "2022-12-24 23:59:59" -a -u qrpayd.service > /home/ukmclient/qrpayd.log |
Индивидуальные настройки Универсального интегратора для банков
Отображение дочерних |
---|
...
1. Перейти на кассовом сервере по адресу: Магазин – Типы касс, выбрать тип кассы и нажать кнопку Настройки:
В разделе subsystems конфигурационного файла mintukm.conf (\mintukm.conf) нужно добавить следующую строку и сохранить изменения:
Блок кода | ||||
---|---|---|---|---|
| ||||
{ include file("conf/services/universal_integrator.conf") } |
2. Необходимо убедиться в наличии файла universal_integrator.conf в разделе \services иерархического древа:
...
0 – QR-код будет выведен на экран (рекомендовано для киоска/кассы самообслуживания);
1 – QR-код будет выведен на чековую ленту;
2 – QR-код одновременно отобразится на экране (рекомендовано для киоска/кассы самообслуживания) и распечатается на чековой ленте;
3 – QR-код будет отображен на дисплее покупателя (рекомендовано для обычных касс в комплекте с дисплеем покупателя).
...
В данном файле следует прописать в качестве значения параметра modulePay то значение, которое указано для конкретного банка, QR-оплату которого вы настраиваете. То же самое касается параметров moduleCancel и subsystem. Например, на скриншоте ниже выполнены настройки для Райффайзенбанка (оплата по динамическому QR):
Примечание. При желании настроить QR-оплату с помощью кассовой платежной ссылки нужно выбирать значения всех параметров с припиской _variable.
Выполненные настройки необходимо сохранить.
...
4. Следует добавить в конфигурационный файл payment.conf (services\payment\payment.conf) приведенную ниже строку, а затем сохранить изменения:
Блок кода | ||||
---|---|---|---|---|
| ||||
{ include file("conf/services/payment/payment_qrpay_ui.conf") } |
При оплате по QR-коду можно передавать в Универсальный интегратор значение поля Код ЦФО.
Дополнительные настройки для киосков и касс самообслуживания
В дополнение к перечисленным выше настройкам, обязательным для любых касс, для касс самообслуживания УКМ 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-кода |
...
Настройка сети
Для настройки сети, необходимо поменять конфигурационный файл netplan и перезагрузиться.
Актуальный конфигурационный файл расположен по следующему адресу:
Блок кода | ||||
---|---|---|---|---|
| ||||
/etc/netplan/netplan.yaml
|
По умолчанию, в нем стоит значение dhcp:
Блок кода | ||||
---|---|---|---|---|
| ||||
network:
version: 2
ethernets:
enpdhcp:
match:
name: enp*
dhcp-identifier: mac
dhcp4: true |
Для настройки статического адреса, следует обратиться к инструкциям от netplan современной версии.
Пример настройки статического адреса:
Блок кода | ||||
---|---|---|---|---|
| ||||
network:
version: 2
ethernets:
enp1s0:
dhcp4: false
dhcp6: false
addresses:
- 192.168.25.76/23
routes:
- to: default
via: 192.168.25.251
nameservers:
search:
- servplus.ru
addresses:
- 192.168.24.3 |
Как снимать логи
Нужно подставить дату, за которую требуется получить лог. Полученный файл и есть лог, его и нужно прислать:
Блок кода | ||||
---|---|---|---|---|
| ||||
journalctl --since "2022-12-24 00:00:00" --until "2022-12-24 23:59:59" -a -u qrpayd.service > /home/ukmclient/qrpayd.log |
Индивидуальные настройки Универсального интегратора для банков
Отображение дочерних |
---|
Якорь | ||||
---|---|---|---|---|
|
1. Перейти на кассовом сервере по адресу: Магазин – Типы касс, выбрать тип кассы и нажать кнопку Настройки:
В разделе subsystems конфигурационного файла mintukm.conf (\mintukm.conf) нужно добавить следующую строку и сохранить изменения:
Блок кода | ||||
---|---|---|---|---|
| ||||
{ include file("conf/services/universal_integrator.conf") } |
2. Необходимо убедиться в наличии файла universal_integrator.conf в разделе \services иерархического древа:
Примечание. В зависимости от намерения использовать функционал на киосках/кассах самообслуживания или обычных кассах, следует установить подходящее значение для параметра showQRcode в данном конфигурационном файле: Якорь qrwhere qrwhere
0 – QR-код будет выведен на экран (рекомендовано для киоска/кассы самообслуживания);
1 – QR-код будет выведен на чековую ленту;
2 – QR-код одновременно отобразится на экране (рекомендовано для киоска/кассы самообслуживания) и распечатается на чековой ленте;
3 – QR-код будет отображен на дисплее покупателя (рекомендовано для обычных касс в комплекте с дисплеем покупателя).
3. Нужно также проверить, присутствует ли файл payment_qrpay_ui.conf в разделе services\payment. Якорь genset genset
В данном файле следует прописать в качестве значения параметра 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 выполняется специфичная настройка, отвечающая за отображение на экране анимации при оплате по 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.qrgazprom_variable.payment" moduleCancel = "servplus.qrgazprom_variable.cancel" subsystem = "qrgazprom_variable" amqp modulePay = "amq.topicservplus.qrrsb_variable.payment" amqpTimeout moduleCancel = 10 second } } } | ||||||
Блок кода | ||||||
| ||||||
# QR-оплаты. Операция "Проверка статического QR-кода" # Настраивать так же, как и QR-оплату # { "reports.qr_checker": { params : {"servplus.qrrsb_variable.cancel" subsystem = "qrrsb_variable" amqp num= "amq.topic" amqpTimeout = 410 second } } } |
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
# QR-оплаты. Операция "Проверка статического QR-кода" # Настраивать так же, как и QR-оплату # Последовательность{ отображения отчетов в Приложении "Отчеты". "reports.qr_checker": { params : { num = 4 # Последовательность отображения отчетов в Приложении "Отчеты". # В начале меню со списком отчётов отображаются отчёты с меньшими значениями параметра "num". name = "Проверка статического QR-кода" # Название отчёта в меню "Отчёты" description = "Проверка соответствия наклеенного на кассе QR-кода с тем, что для этой кассы настроен" # Краткое описание отчёта в этом же меню. url = "amqp://ukm:xxxxxx@192.168.25.93113" modulePay = "servplus.qrrsbqrraiffd_variable.payment" moduleCancel = "servplus.qrrsbqrraiffd_variable.cancel" subsystem = "qrrsbqrraiffd_variable" amqp = "amq.topic" amqpTimeout = 1050 second } } } |
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
# QR-оплаты. Операция "Проверка статического QR-кода" # Настраивать так же, как и QR-оплату # { "reports.qr_checker": { params : { num = 4 # Последовательность отображения отчетов в Приложении "Отчеты". # В начале меню со списком отчётов отображаются отчёты с меньшими значениями параметра "num". name = "Проверка статического QR-кода" # Название отчёта в меню "Отчёты" description = "Проверка соответствия наклеенного на кассе QR-кода с тем, что для этой кассы настроен" # Краткое описание отчёта в этом же меню. url = "amqp://ukm:xxxxxx@192.168.2524.113154" modulePay = "servplus.qrraiffdqralpha_variable.payment" moduleCancel = "servplus.qrraiffdqralpha_variable.cancel" subsystem = "qrraiffdqralpha_variable" amqp = "amq.topic" amqpTimeout = 5010 second } } } |
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
# QR-оплаты. Операция "Проверка статического QR-кода" # Настраивать так же, как и QR-оплату # { "reports.qr_checker": {checker": { params : { num = 4 params : { # numПоследовательность отображения отчетов в Приложении "Отчеты". = 4 # Последовательность отображения отчетов в Приложении "Отчеты". # В начале меню со списком отчётов отображаются отчёты с меньшими значениями параметра "num". name = "Проверка статического QR-кодаstatic Хлынов" # Название отчёта в меню "Отчёты" description = "Проверка соответствия наклеенного на кассе QR-кода с тем, что для этой кассы настроен" # Краткое описание отчёта в этом же меню. url = "amqp://ukm:xxxxxx@192.168.24.154" modulePay = "servplus.qralpha_variableqrbankhlynov.payment" moduleCancel = "servplus.qralpha_variableqrbankhlynov.cancel" subsystem = "qralpha_variable"qrbankhlynov" amqp = "amq.topic" amqpTimeout = 1050 second } } } |
Все выполненные настройки необходимо сохранить.