Настройки взаимодействия с системой продажи лотерейных билетов Столото производятся в несколько этапов, подробно описанных ниже.
Регистрация кассы на лотерейном сервере
Каждую кассу, на которой предполагается продавать лотерейные билеты Столото, необходимо зарегистрировать на лотерейном сервере. Делается это следующим образом:
- Ретейлер сообщает сервису Столото количество касс, которое необходимо подключить к лотерейному серверу, и одновременно получает от него инструкцию для генерации сертификатов.
- Сервис Столото присваивает каждой кассе уникальный номер.
- Сервис Столото сообщает ретейлеру уникальные номера, присвоенные кассам.
- С помощью утилиты генерации, ретейлер формирует файлы с сертификатами для каждой кассы, либо один сертификат для всех касс.
- Ретейлер выполняет действия по настройке касс, описанные ниже.
Настройки касс
1. Взаимодействие УКМ 5 с системой Столото происходит через защищённый протокол. В этой связи, необходимо сгенерировать клиентский сертификат и ключ от него, руководствуясь инструкциями и требованиями*.
* Актуальную информацию по требованиям и инструкцию по генерации клиентских сертификатов необходимо уточнять у представителей сервиса Столото.
Попробуйте на тестовой кассе выполнить следующую команду из папки, где лежат присланные сервисом Столото crt- и key-файлы (после выполнения удалите их с тестовой кассы):
openssl pkcs12 -export -in <name.crt> -inkey <name.key> -name 'name' -out keystore.p12
Замените, соответственно, на имена файлов <name.crt>, <name.key> и 'name' (имя можно указать любое, например, номер терминала).
При создании файла, система запросит ввод пароля, придумайте и введите пароль.
2. Созданное хранилище ключей keyStore.p12 нужно поместить на кассу в домашний каталог пользователя ~/.config/keys/keyStore.p12 и прописать полный путь до файла хранилища в значении параметра keyStorePath.
Пароль от хранилища необходимо прописать в параметре keyStorePassword, который был указан на этапе создания хранилища.
3. Названия лотерей задаются параметром gamesNames.
Формат параметра: ХХХХ: Название; YYYY: Название, где ХХХХ, YYYY – Код лотереи (GAME_ID), Название – название лотереи, как должно быть в чеке.
Например:
5101: Лото – Спортлото 6 из 45;
5536: Лото – Спортлото 5 из 36 (+1);
4420: Лото – Спортлото 4 из 20;
5150: Лото – Спортлото 7 из 49;
7105: Бинго – Жилищная лотерея;
7115: Бинго – Золотая подкова;
7103: Бинго – Русское лото.
Числовые лотереи:
(4420) «Спортлото «4 из 20»
(5536) «Спортлото «5х36»
(5101) «Спортлото «6х45»
(5150) «Спортлото «7х49»
Бинго-лотереи:
(7103) «Русское лото»
(7105) «Жилищная лотерея»
(7115) «Золотая подкова»
4. В справочник товаров необходимо загрузить из внешней товароучетой системы единую универсальную товарную позицию, идентифицирующую продажу лотерейного билета. Розничная цена для такой позиции всегда составляет 1 руб. Минимальная цена также равна 1 руб. Код товара – goodsId – идентифицирует продажу лотерейного билета.
5. Настройки кассы происходят на кассовом сервере УКМ 5 по адресу: Магазин – Типы касс, где нужно выбрать тип кассы и нажать кнопку Настройки:
В появившемся иерархическом древе в файле sale.conf (applications/sale/sale.conf) необходимо добавить в раздел plugins следующий параметр:
{ include file("conf/applications/sale/loto.conf") }
6. Затем нужно отредактировать файл loto.conf (applications/sale/loto.conf), указав в нем следующее:
- baseUrl – адрес шлюза (высылается сервисом Столото);
- responseTimeout – тайм-аут ожидания ответа от лотерейной системы;
- keyStorePath – путь до хранилища ключей;
- keyStorePassword – пароль к хранилищу ключей;
- gamesNames – названия тиражей.
7. Все изменения нужно сохранить.
8. Далее, нужно на кассовом сервере по адресу: Магазин – Кассы выбрать необходимую кассу и нажать кнопку Оборудование:
В иерархическом древе появится файл loto.conf (misc/loto.conf), в котором необходимо указать параметр terminalNumber (terminal_id). Он высылается представителями Столото, которые распределяются по кассам самим ретейлером. С технической точки зрения, не имеет значения, какой кассе будет присвоен определенный terminal_id. Главное правило – присваивать по одному terminal_id каждой кассе. Ретейлеру в будущем рекомендуется отслеживать данный момент при изменении настроек, перезаливке касс и т. д.