Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Panel

Table of Contents


Panel

Начиная с версии 4.6.222 реализовано прерывание операции оплаты с кассы. 

Для корректной работы функционала необходимо:

  • клиентское приложение sb_pilot версии 33,
  • терминал с прошивкой версии 33.xx.xx.


Panel

Начиная с версии 4.6.237 реализована оплата по биометрии через процессинг Сбербанк.

Начиная с версии 4.6.239 реализована возможность задавать таймаут ожидания ответа от пин-пада при сверке итогов.

Модуль Сбербанк предназначен для выполнения оплаты платежными картами с использованием банковских терминалов и ПИН клавиатур, которые предоставлены Сбербанком России.

...

.

Модуль представляет собой клиентское приложение sb_pilot и набор файлов и библиотек, необходимых для обращения к процессинговому центру. При проведении оплаты платежной картой кассовая программа вызывает клиентское приложение sb_pilot. Параметрами для этого приложения передаются:

...

Info

Для корректной работы необходимо настроить отображение диалогов на экране пинпадапин-пада.

После завершения работы приложения, создаются файлы с результатом выполнения операции (файл e) и образом квитанции, которую необходимо распечатать (файл p). Кассовая программа анализирует результат выполнения и при необходимости печатает на чековой ленте содержимое печатного образа.

...

  • оплата,
  • возврат,
  • отмена последней операции,
  • сверка итогов,
  • печать полного и краткого отчетов,
  • прерывание операции оплаты с кассы.
Info

Запрещена отмена оплаты чека возврата или возврата по чеку продажи. При попытке совершить операцию на экран будет выведена ошибка "Отмена оплаты не доступнанедоступна".

Конфигурирование модуля

Для использования модуля необходимо установить пакет artix45-plugin-sb

Code Block
languagetext
aptitude install artix45-plugin-sb

Вызов клиентского приложения выполняется при выборе специального типа оплаты. Для добавления типа оплаты необходимо выполнить конфигурирование модуля. Номер типа оплаты задается в процессе конфигурирования.

Code Block
languagetext
titleКонфигурирование модуля
dpkg-reconfigure artix45-plugin-sb

Файлы, необходимые для функционирования модуля, располагаются в директории /linuxcash/cash/paysystems/sb

ФайлОписание
sb_call.shСкрипт для вызова клиентского приложения
sb_pilotКлиентское приложение, которое отвечает за обращение к процессинговому центру
.screenrcНастройки для корректного отображения информации на экране при запуске клиентского приложения через sb_call.sh
ttyS99Символьная ссылка на файл устройства (необходима при подключении через USB)

Файлы клиентского приложения предоставляются сотрудниками банка. Одна из версий приложения включена в состав пакета, ее файлы располагаются в директории /linuxcash/cash/paysystems/sb/files. Для использования данной версии приложения файлы необходимо скопировать в директорию /linuxcash/cash/paysystems/sb/.

Panel

Начиная с версии 4.6.193 при первоначальной установке пакета artix45-plugin-sb файлы клиентского приложения автоматически помещаются в директорию /linuxcash/cash/paysystems/sb/.

При необходимости выполнения операций, минуя кассовую программу, достаточно запустить скрипт sb_call.sh с нужными параметрами. Данный скрипт вызывает клиентское приложение в специально подготовленном окружении для корректного отображения информации на экране.

Info
Если на экране отображается нечитаемый текст, нужно проверить кодовую страницу, которая указана в настройках терминала и файле .screenrc.

Параметры настройки для минивыписок (слипов) и кодовых страниц, в которых клиентское приложение возвращает результат, задаются в файле вызова клиентского приложения задаются в конфигурационном файле /linuxcash/cash/conf/artixsb.conf в секции [main].

Параметры вызова клиентского приложения

пинпаде случаем ..
НаименованиеТип данныхВозможные значенияОписаниеПримечания

encoding

строковый
  • koi8-r
  • ibm866
  • cp1251
  • UTF-8
  • и т.д.
Кодовая страница файлов с результатом вызоваПо умолчанию koi8-r

limit

числовой
Порог суммы оплаты, ниже которого печатается один слип (в копейках)
dialogsOnPinpad

логический

  • true

  • false

Если установить параметр true, то диалоги будут отображаться на

пин-паде. В противном

случае диалоги будут отображаться на кассе

По умолчанию true

Для взаимодействия с диалогом на кассе при помощи клавиатуры необходимо установить openbox

timeoutчисловой
Время ожидания ответа от пин-пада в секундахПо умолчанию 300


Code Block
languagetext
titleПример настройки
[main]
encoding=koi8-r
limit=0
 
; Отображать диалоги на пинпадепин-паде
; В противном случаемслучае диалоги будут отображаться на кассе
; По умолчанию - true
;dialogsOnPinpad = true

; Время ожидания ответа от пин-пада в секундах
; по умолчанию 300
;timeout = 300
...

В кассовом ПО реализована возможность задавать таймаут ожидания ответа от пин-пада при сверке итогов с помощью параметра totalsTimeout. При значении по умолчанию (-1) будет применено значение параметра timeout.

НаименованиеТип данныхОписаниеПримечания
totalsTimeoutчисловойВремя ожидания ответа от пин-пада при сверке итогов в секундахПо умолчанию -1


Code Block
languagetext
titleПример настройки
[main]
...

; Время ожидания ответа от пин-пада при сверке итогов в секундах
; Если выставлено значение -1, то используется значение настройки timeout
; по умолчанию -1
;totalsTimeout = -1

Сохранение способа чтения номера карты и флагов операции

В кассовом ПО реализовано сохранение способа чтения номера карты и флагов операции при оплате через процессинг Сбербанк с использованием клиентского приложения sb_pilot. В БД Documents таблицу Moneyitem в поле additionaldata записывается json-объект с полями:

  • cardEntryMode – способ чтения номера карты,
  • operationFlags – флаги операции.
Code Block
languagetext
titleПример json-объекта: способ чтения номера карты и флаги операции
{"cardEntryMode":"E","operationFlags":"00010000"}


ПолеОписаниеВозможные значения
cardEntryModeСпособ чтения номера карты
  • D – карта считана через магнитный ридер,
  • M – номер карты введен вручную,
  • C – карта считана через чиповый ридер,
  • F – карта считана в режиме Fallback,
  • R и E – карта считана бесконтактно,
  • I – вместо карты использован идентификатор,
  • Q – считан SberPay QR,
  • B - считан SBP QR,
  • L – операция кредитования или рассрочки,
  • P – считана биометрическая информация клиента.

Кроме символа P, при операции по биометрии может использоваться сочетание способа ввода M и бита TRF_BIO. Параметр имеет смысл только при платежных операциях. При служебных операциях может принимать любое односимвольное значение.

operationFlagsФлаги операции

Маска 0x00000007 (три младших бита младшего байта) содержит описание способа чтения карты:

  • 0 (TRFE_DEVICE) – магнитный ридер,
  • 1 (TRFE_MANUAL) – ручной ввод номера карты,
  • 2 (TRFE_CHIP) – чиповый ридер,  
  • 3 (TRFE_FALLBACK) – на карте есть чип, но она считана через магнитный ридер,
  • 4 (TRFE_VIVO_MS) – бесконтактная карта с эмуляцией магнитной полосы,
  • 5 (TRFE_VIVO_EMV) – бесконтактная карта с эмуляцией чипа,
  • 6 (TRFE_BY_ID) – введен идентификатор клиента.

Маска 0x00008000 (TRF_BIO) – биоверификация держателя карты,

Маска 0x00010000 (TRF_PIN_ONLINE) – введен online pin,

Маска 0x00020000 (TRF_PIN_OFFLINE) – введен offline pin,

Маска 0x00040000 (TRF_NO_CVM) – без верификации держателя карты.

Если установлен бит TRF_PIN_OFFLINE и способ чтения TRFE_VIVO_MS или TRFE_VIVO_EMV, то верификация выполнена на устройстве клиента (например ApplePay, GooglePay)

Если установлены биты TRF_PIN_ONLINE и TRF_BIO, то биометрическая проверка держателя карты выполнялась с вводом дополнительного пароля.


Логирование

Журнал вызовов клиентского приложения из кассовой программы ведется в основном логе кассовой программы /linuxcash/logs/current/terminal.log. Для идентификации данных, записанных модулем Сбербанк, используется логгер с именем payment. В журнал заносятся параметры вызова, результат выполнения и образ слипа, который предназначен для печати.

Настройка

...

пин-пада

Необходимо настроить параметры взаимодействия пинпада пин-пада с ККМ:

  • Интерфейс интерфейс кассира на пинпадеПечатать пин-паде,

  • печатать один образ чека с цифрой впереди,

  • При при успешной операции не ждать подтверждения от кассира.

Настройка

...

пин-пада PAX SP30

Info
Терминалы PAX SP30 для оплаты по безналичному расчету через модуль Сбербанка используют пакет ttypos, который необходимо установить отдельно от пакета artix45-plugin-sb!.

При установке пакета ttypos создается директория /opt/ttyPos, в которой хранятся конфигурационные файлы.Параметры для подключения пинпада

Символьная ссылка на файл устройства может создаваться двумя способами:

  1. Пакет ttypos содержит драйвер (модуль ядра) для PAX SP30, который создает в системе последовательный порт ttyPos0. Чтобы заработал пин-пад, необходимо создать ссылку на порт, созданный драйвером, в директории процессинга Cбербанк:

    Code Block
    languagetext
    ln -s /dev/ttyPos0 /linuxcash/cash/paysystems/sb/ttyS99


  2. С помощью параметров для подключения пин-пада, которые настраиваются в файле /opt/ttyPos/conf.ini.

    НаименованиеТип данных

...

  1. ОписаниеПримечания
    ttypos_portстроковый

...

  1. Наименование порта, созданного драйвером

    Если указана настройка com_port, то на данный порт создается ссылка

    com_portстроковыйНаименование ссылки, создание которой запускает скрипт /opt/ttyPos/setport.sh при подключении устройства


    Code Block
    languagetext
    titleПример настройки
    ; ttyPos-устройство
    ttypos_port="/dev/ttyPos0"
    
    ; COM-порт для работы с usb-устройством (ссылка на ttyPos-устройство)

...

  1. 
    com_port="/dev/ttyS99"


Использование одного терминала для нескольких организаций

Panel

Начиная с версии 4.6.94 для кассового ПО реализована возможность отправки единого запроса на оплату товара по нескольким юридическим лицам с использованием процессинга Сбербанк.

Использование одного терминала для нескольких организаций необходимо в случаях, когда реализация товаров и услуг выполняется разными организациями. Для реализации данного механизма, кассовая программа вызывает клиентское приложение sb_pilot с дополнительным параметром - идентификатором организации, который соответствует коду отдела настроенного на пинпадепин-паде.

Info

Указание номера отдела реализовано в sb_pilot версии 11.41.04 и выше.

...

  • В чеке возврата и возврате по чеку продажи запрещено сторнировать операцию по безналу (согласно протоколу Сбербанка эта операция будет проводиться как оплата, что повлечет за собой снятие комиссии).
  • Сверка итогов по безналу и печать отчетов по безналу всегда производится общая по всем отделам (ограничение протокола Сбербанка).
  • При возврате по безналу на одно юридическое лицо в рамках текущей банковской смены осуществляется отмена операции оплаты. Если настройками кассы предусмотрено распределение по отделам, то при возврате по безналу в рамках банковской смены выполняется операция возврата (требования процессинга, в отчетах она отражается как отмена).

  • После снятия отчета по безналу в другой кассовой смене возврат по безналу проходит запросом возврата.

  • Если в чеке продажи присутствуют товары из разных отделов, то после оплаты товара из одного отдела на экран будет выведен диалог "Извлеките карту из пин-пада".

Оплата по биометрии

В кассовом ПО Artix реализована возможность оплаты по биометрии через процессинг Сбербанк.

Для возможности оплаты по биометрии необходимо:

  1. В БД Dictionaries в таблице Valut настроить дополнительную валюту с параметром mode=32768.
  2. Настроить работу с пин-падом WizarPOS:
    1. Установить пакет usbserial-wizarpos (дополнительно к пакету artix45-plugin-sb):

      Code Block
      languagetext
      aptitude install usbserial-wizarpos


    2. Создать символьную ссылку на порт, к которому подключен пин-пад, в директории процессинга Сбербанк:

      Code Block
      languagetext
      ln -s /dev/ttyUSB0 /linuxcash/cash/paysystems/sb/ttyS99


Возможные ошибки при оплате по б/н

На кассе

Для корректного функционирования модуля оплаты на кассе осуществляется проверка наличия файла sb_call.sh и наличия прав на его исполнение. При невыполнении одного из условий на экран будет выведено соответствующее сообщение. 

...

При отсутствии файла sb_pilot или невозможности его исполнения на экран выдается сообщение "Ошибка чтения файла статуса операции".

На

...

пин-паде

Если настроены диалоги на пинпадепин-паде, то файл sb_call.sh не используется, вызывается файл sb_pilot. При невыполнении одного из условий на экран будет выведено соответствующее сообщение.

...