Публичное пространство
SetRetail10 ▪️ Касса ◾️ Настройка банковского процессинга «Сбербанк» на кассе
https://crystals.atlassian.net/browse/SRTZ-1515
https://crystals.atlassian.net/browse/CR-6824
- 1 Подготовка файлов банка
- 2 Настройка портов для подключения в случае хранения настроек на терминале
- 3 Отображение ошибок терминала на экране кассы
- 4 Изменение тайм-аута ответа от банковского терминала
- 5 Изменение тайм-аута ответа для операции "Сверка итогов"
- 6 Активация процессинга на кассе
- 7 Отмена возврата
- 7.1 Пример работы
- 7.2 Ограничения
- 7.3 Настройка
Порядок действий при подключении банковского терминала Сбербанка на кассе SetRetail10 Linux.
Подготовка файлов банка
1. Включите кассу и дождитесь загрузки кассового модуля.
2. Подключите USB-флешку и клавиатуру (USB или PS/2) к кассе.
3. На клавиатуре одновременно нажмите Ctrl+Alt+F1 (выход из кассового модуля в командную строку linux).
4. Определите название устройства (USB-флешки) командой
dmesg | tail
Устройство отобразится в виде «sda : sda1» или «sdb : sdb1» и т.п.
5. Примонтируйте флешку командой
sudo mkdir /mnt/sdb1
sudo mount -t vfat /dev/sdb1 /mnt/sdb1
Только для флешек FAT32.
ВАЖНО!
Если флешка имеет файловую систему NTFS, то нужно:
- Скачать пакет для NTFS-устройств командой
tce-load -wi ntfs-3gПримонтируйте командой
sudo mount -t ntfs-3g /dev/sdb1 /mnt/sdb1
6. Запустите файловый менеджер Midnight Commander командой mc
7. Перейдите в каталог /mnt/sdb1
8. Скопируйте конфигурационные файлы для работы банковского ПО в каталог /home/tc/storage/crystal-cash/banks/sberbank/linux
Список файлов:
Sb_pilot - Запускаемый файл программы
Example.tlv - файл с настройками (в случае использования)
pinpad.ini - конфигурационный файл для подключения
Настройка портов для подключения в случае хранения настроек на терминале
Подключение через COM-порт
Если подключение производится по COM-порту, то следует проверить доступность этих портов.
Для этого в командной строке введите:
dmesg | grep serialТакже в некоторых случаях будет работать только команда:
dmesg | grep ttyВ результате будет выведен список доступных портов:
На примере ttyS0 и ttyS1 – это 1-ый и 2-ой COM-порты соответственно.
В конфигурационном файле /home/tc/storage/crystal-cash/banks/sberbank/linux/pinpad.ini необходимо указать выбранный порт
ComPort=2
;EnableUSB=0
;PinpadLog=1
PrinterEnd=010D0A
;PinpadIPAddr=10.73.27.24
;PinpadIPPort=8888
Speed=115200Подключение через USB-порт
В /etc/udev/rules.d/ 15-com-pinpad.rules описаны правила для создания симлинков для всех известных нам типов пинпадов.
При подключении пинпада по USB создается симлинк вида /dev/ttyS* на устройство независимо от того, какое название было присвоено ядром.
Для того,чтобы узнать, какой номер порта выделен для терминала необходимо выполнить команду:
ls -la /dev/ttyS*В ответе можно увидеть симлинк на созданный порт
В нашем примере назначился порт ttyS61 = COM 62
В конфигурационном файле /home/tc/storage/crystal-cash/banks/sberbank/ linux/ pinpad.ini необходимо указать ComPort=62
ComPort=62
EnableUSB=0
PinpadLog=1
PrinterEnd=010D0A
ScheduledTime=00:00:00
ScheduledCommand=7
;PinpadIPAddr=10.80.15.92
;PinpadIPPort=8888
DailyReport=%s_inf.txt
Speed=115200
OpenSession=000000000000
LastAmount=400
NewProtocol=1
Валидация конфигурации USB-подключений в pinpad.ini
https://crystals.atlassian.net/browse/SRTZ-4358
https://crystals.atlassian.net/browse/CR-14978
10.4.24.0
При работе с USB-терминалами sb_pilot должен быть настроен так, чтобы не конфликтовать с другим прикассовым оборудованием. Если в pinpad.ini указан универсальный порт ComPort=9 и/или параметр EnableUSB=1, sb_pilot опрашивает не только терминал, но и все устройства с портами вида /dev/ttyACMx, что приводит к конфликтам.
Корректная настройка:
EnableUSB=0ComPort= номер порта из симлинка для конкретной модели терминала (например, для симлинка/dev/ttyS85указываетсяComPort=86, так как нумерация с 1).
Начиная с SetRetail 10.4.24.0 реализована автоматическая валидация конфигурации:
Если в
pinpad.iniобнаруженEnableUSB=1, файл перезаписывается со значением0, а старая версия сохраняется какpinpad.ini.old.Если одновременно указаны
ComPort=9иEnableUSB=1, то после сбросаEnableUSBв0терминал не будет найден, в этом случае требуется вручную установить правильныйComPort.
Отображение ошибок терминала на экране кассы
При получении ошибок от банка, например, если на карте недостаточно средств, ошибка отображается только на пин-паде. Для отображения ошибок терминала на экране кассы в конфигурационном файле /home/tc/storage/crystal-cash/banks/sberbank/linux/pinpad.ini раскомментируйте строчку с параметром ShowScreens=1 или добавьте параметр вручную.
После установки параметра ошибки будут корректно отображаться на кассе.
Изменение тайм-аута ответа от банковского терминала
До версии 10.2.74.0 включительно тайм-аут ответа от пинпада в образе кассового модуля = 90 секунд.
Начиная с версии 10.2.75.0 тайм-аут ответа от пинпада в образе кассового модуля = 180 секунд.
1. Для настройки времени ответа от банковского терминала Сбербанка откройте на редактирование (клавиша F4) файл /home/tc/storage/crystal-cash/config/plugins/bank-sberbank-config.xml.
2. Измените значение параметра responseTimout. Значение задается в миллисекундах.
Пример: 180000 = 180 c.
3. Сохраните изменения (клавиша F2) и выйдите из Midnight Commander.
4. Выполните команды:
cash save
cash restartИзменение тайм-аута ответа для операции "Сверка итогов"
10.3.8.0
До версии 10.3.8.0 настраивается общий тайм-аут для всех операций с терминалом. При выполнении операции "Сверка итогов" значения общего тайм-аута может не хватать, а его увеличение может тормозить оплаты.
Начиная с версии 10.3.8.0 добавлена отдельная настройка тайм-аута при совершении операции "Сверка итогов".
1. Для настройки времени ответа от банковского терминала Сбербанка при совершении операции "Сверка итогов" откройте на редактирование (клавиша F4) файл /home/tc/storage/crystal-cash/config/plugins/bank-sberbank-config.xml.
2. Измените значение параметра dailyLogResponseTimeout. Значение задается в миллисекундах.
Пример: 700000 = 700 с.
Значение по умолчанию: 600000 = 600 с.
3. Сохраните изменения (клавиша F2) и выйдите из Midnight Commander.
4. Выполните команды:
cash save
cash restartАктивация процессинга на кассе
1. Настройте Сбербанк в меню конфигуратора кассы.
2. Перезагрузите кассу.
3. Произведите тестовую продажу через банковский терминал.
Отмена возврата
https://crystals.atlassian.net/browse/SRTZ-3157
https://crystals.atlassian.net/browse/SRTZ-3297
https://crystals.atlassian.net/browse/CR-9959
10.4.3.0
В версии 10.4.3.0 добавлена возможность отменять транзакции возврата при аннулировании чека возврата при оплате картой Сбербанка на кассах POS и SetTouch.
Пример работы
Возврат в следующей смене (смешанная оплата, сумма возврата на карту = сумме продажи по карте)
В чеке продажи были 2 оплаты: наличными и картой
Кассир вызывает возврат по чеку и находит чек продажи по реквизитам.
Кассир выбирает возврат чека целиком (или выбирает позиции к возврату).
Переходит к выбору оплат.
Выбирает возврат на банк.карту и подтверждает сумму, которая была в продаже.
Касса посылает команду возврата (3) на терминал.
К терминалу прикладывают карту для осуществления возврата.
Терминал возвращает успешный ответ по возврату, касса добавляет возврат в чек.
Кассир аннулирует чек.
Касса вызывает команду отмены возврата, проведенного на шаге 7.
Терминал возвращает успешный статус отмены.
Чек возврата аннулирован, денежные средства на карту не возвращены.
Ограничения
Только для терминалов Сбербанк.
Только для возвратов, проведенных эквайрингом.
Доступно только для возвратов в следующей смене, либо частичных возвратов.
Настройка
Настройка не требуется.