...
Wallet Service по сути является электронным кошельком для хранения электронных карт различных сервисов, магазинов, торговых площадок, предлагающих своим клиентам использование корпоративной карты либо как карты лояльности, либо как карты доступа в личный кабинет. Wallet карта – это виртуальная карта, хранящаяся в смартфоне пользователя. Здесь важно понимать, что Wallet карта — это виртуальный дубликат либо физической карты (пластиковой), либо электронной карты (код карты в базе данных без использования пластикового носителя). Как и физическая карта, как и электронная карта, так и карта Wallet требует покупки кодов с ЭЦП и последующей регистрации их в БД. Так некоторые ошибочно полагают, что, покупая технологию Wallet Service для работы с программным комплексом GK, они уходят от покупки электронных кодов с ЭЦП. Это не так! Выше приведено пояснение. В приложении Wallet Service карта GK выпускается и хранится в виде QR-code, который на экране смартфона клиент показывает кассиру на кассе, тот сканирует код и работает с картой обычным образом: пополнение баланса, покупка пакетов, абонементов и т.д. Также, устанавливая технологию Wallet Service, требуется заключение договора с провайдером SMS рассылок. Договор нужен для отправки смс с ссылкой на виртуальную карту Wallet на телефон клиента, для верификации клиентов, для поиска клиентов по номеру телефона. На текущий момент поддержан единственный провайдер EASY-SMS https://easy-sms.ru/. Выпустить карту в Wallet Service можно 2 способами: непосредственно на кассе GK, персонализировав гостя, нажать соответствующую кнопку, либо через форму приложения web-Персонализация. Это отдельный web-сервис, который позволяет гостю самостоятельно регистрироваться в системе и получать электронную карту, выпускать ее в Wallet Service.
2. Регистрация объекта автоматизации в WalletService
Все объекты автоматизации (игровой центр, парк активных развлечений, городской парк и т.д.), которые хотят использовать Wallet Service должны первично получить регистрационные данные. Новый объект добавляется в Wallet Service непосредственно ответственным сотрудником отдела лицензирования компании разработчика программного комплекса Game-Keeper. Объекту присваивается уникальные идентификаторы – businessid и accessToken, которые в дальнейшем требуются для настройки технологии Wallet. Происходит это после подписания и оплаты договора на использования сервиса. Также на этом этапе идет базовая настройка карты для Wallet Service под конкретный объект автоматизации. Настройка выполняется сотрудниками Game-Keeper после согласования с заказчиком.
3. Лицензирование
Для возможности использования функционала Wallet Service необходимо приобрести лицензию на модуль «Game-Keeper Web API».
Дополнительно для возможности персонализировать гостя на кассе в кассовый ключ должен быть прописан модуль «Персонализация на кассе», он приобретается независимо от модуля Api.
4. Настройки кассового сервера gkPosServer
Все операции выполняются кассовым сервером, соответственно настройки для взаимодействия с Wallet Service указываются в конфигурации сервера:
В конфигурационном файле сервере gkPosServer.ini:
[wallet_service]
Provider = https://api.cloud.game-keeper.com
businessId=идентификатор РЦ (игротеки) в Wallet Service (выдается при регистрации в Wallet Service сотрудником отдела лицензирования GK)
accessToken=токен авторизации в Wallet Service (выдается при регистрации в Wallet Service сотрудником отдела лицензирования GK)
Операции Выпуска и Получения ссылки - синхронные, дожидаются конца взаимодействия с Wallet Service.
В случае ошибок при взаимодействии с Wallet Service при Выпуске или Получении ссылки на кассе отображается краткое сообщения об ошибке. Подробная информация содержится в логе сервера.
Обновление данных о карте в Wallet Service асинхронно. Непосредственно при проведении операций в GK кассовый сервер сохраняет в БД в отдельную таблицу карт для синхронизации номера карт, с которыми проводились операции. Отдельная задача, периодически выполняемая кассовым сервером, извлекает эти номера, считывает текущие данные карт и при необходимости обновления отправляет их в Wallet Service, удаляя эти номера из таблицы карт для синхронизации.
Периодичность запуска задачи синхронизации задается в настройках кассового сервера параметром
[Settings]
SyncWalletServiceInterval=периодичность в минутах (0 - по умолчанию, т.е. не запускается вообще)
В случае ошибок при взаимодействии с Wallet Service при Обновлении никакой сигнализации, кроме записи в лог сервера, не производится.
Настройка возможности работы с виртуальными картами делается в БД посредством Microsoft SQL Server Management Studio: таблица Arcade поле VirtCardUsage: =0 нельзя (по умолчанию), <> 0 – можно.
Важно! Здесь сразу хочется напомнить, что по условиям лицензионного договора организация разработчик программного комплекса Game-Keeper запрещает любое стороннее вмешательство в БД. Нарушение этого пункта договора влечет за собой автоматическое прекращение гарантийных обязательств разработчика по штатному функционированию комплекса.
Так как все операции по взаимодействию с Wallet Service выполняются кассовым сервером, то в конфигурационном файле также настраивается интеграция с смс-провайдером.
Пример конфигурационного файла gkPosServer.ini в части, касающейся настроек Wallet Service:
[Settings]
SyncWalletServiceInterval=1
[wallet_service]
provider=https://api-cloud.game-keeper.com
businessId=cb82df9f55004329b4f6933669c1a3fc
accessToken=b35c9b97e0e877149c83fcfab3be0a071b69512c44a80e0c1a0d8b481d7f668d
[sms]
provider=https://xml.smstec.ru/api/v1/instam/2199/send_sms
login=KBCP_SPEKTR
pass=9edxey4
sender=GAME-KEEPER
5. Настройки на кассе gkPos
Для поиска и идентификации клиента на кассе GK в конфигурационный файл gkPos.ini следует добавить настройки интеграции с смс-провайдером.
[sms]
provider=https://xml.smstec.ru/api/v1/instam/2199/send_sms
login=KBCP_SPEKTR
pass=9edxey4
sender=GAME-KEEPER
Стоит отметить, что эта настройка влияет только на поиск клиента по номеру телефона с отправкой ему смс сообщения для верификации. На выпуск карты в Wallet Service это не влияет, т.к. за отправку ссылки на виртуальную карту в Wallet Service на телефон клиента отвечает непосредственно кассовый сервер gkPosServer.
6. Настройка сервиса CardToPhone
Как упоминалось выше выпуск карты в Wallet Service может происходить как на кассе GK кассиром, так и через сервис Web-персонализация CardToPhone самостоятельно гостем. Причем второй способ с самостоятельной регистрацией гостем значительно экономит загрузку кассиров и общее время обслуживания гостей, т.к. параллельно несколько людей могут одновременно регистрироваться в системе, вносить свои персональные данные, получать виртуальные карты. Подробнее о сервисе CardToPhone описано в отдельной статье.
7. Проверка работоспособности технологии
Якорь | ||||
---|---|---|---|---|
|
Кассир регистрируется на кассе и нажимает кнопку «Поиск карты»:
Выбирает «по номеру телефона»:
Далее вводит номер телефона гостя и нажимает «Ввод»:
Клиенту на его номер телефона уходит смс с кодом подтверждения. Он диктует его кассиру:
После применения кода подтверждения создается электронная карта с номером из диапазона электронных карт, занесенных в БД. В нашем случае это номер 100000006:
Затем кассир нажимает на кнопку «Анкета» и персонализирует гостя:
Заполняет поля ФИО, пол, День рождения, Телефон (уже заполнен), Е-почта (по желанию), нажимает сохранить и выйти.
Для выпуска карты в Wallet Service кассир нажимает кнопку «Виртуальная карта»:
При успешной отправке:
При этом на телефон гостя в смс уйдет ссылка на электронную карту в Wallet Service:
Клиент на телефоне переходит по ссылке. Если у него не установлено приложение Карты от WalletPasses, то будет предложено установить приложение:
После установки приложения еще раз нажимаем на ссылку из смс и попадаем в приложение «Карты» от WalletPasses, где видим нашу карту:
Этот QR-code из приложения теперь можно использовать на кассе GK прямо из смартфона как идентификатор гостя, не называя номер телефона и на предъявляя физическую пластиковую карту. На кассе GK должен быть подключен и настроен сканер для считывания QR-code.
Для наглядного примера пополним баланс карты и посмотрим на изменения в WalletPasses.
После успешного пополнения на смартфон придет push-уведомление. Заходим в приложение «Карты» от WalletPasses и видим, что баланс карты изменился:
б) Выпуск карты через веб-сервис (Card2Phone).
Процесс выпуска электронной карты в Wallet кошелёк описан тут