Терминалы

Терминальная сеть «Открытый Дом»

РАЗРАБОТКА

Формат работы

Time & Material

Основные технологии

Язык D (семейство C++)

Оборот средств
за время тестирования

10 000 000

Перед нашей командой стояла задача написать программу для терминалов компании «Открытый Дом». В начале работы были заказаны два платежных терминала для расположения внутри помещений.

Основные элементы комплектации опытных образцов:

  • Термопринтер Custom VKP-80 II
  • Купюроприемник CashCode SM
  • Карт-ридер Sankyo 3K7
  • SZZT ZT592B 16-ти кнопочный PIN PAD

В процессе подготовки терминалов к работе возникли непредвиденные неполадки, справиться с которыми не смог ни один сервисный центр города Омска, поэтому команде пришлось самой произвести ремонт неработающих компонентов.

Основные функции, которые должен был выполнять терминал:

1

Прием наличных средств, проверка их на подлинность.
Реализация работы ПО с устройством осуществлялась при помощи CCNET протокола

2

Печать чека с полным отображением актуальной информации

3

Распознавание магнитной карты пользователей сервиса

4

Отправка данных об изменениях, происходящих со счетом клиента, в личный кабинет на сайте

Расскажем о процессах чуть подробнее. Как все-таки работают терминалы?

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

Терминал связан по REST API с основным сервисом, после внесения денежных средств вся информация тут же передается в базу данных на основной сервер OPENi. Бумажные деньги становятся виртуальными. В вашем личном кабинете моментально отображаются все изменения. При отсутствии подключения к интернету, операция проводится в режиме оффлайн, а как только оно восстановлено, автоматически вся информация тут же синхронизируется по REST c базой данных основного сервиса. Вы снова можете контролировать все действия, происходящие с вашим счетом.

Программное обеспечение для терминала было написано на языке D (семейство С++), выбор на данный язык программирования пал по ряду его технологических преимуществ.

Платформа Linux была выбрана для размещения программного обеспечения, поскольку в отличие от Windows, ОС Linux имеет более гибкую возможность настройки системы с целью увеличения скорости и безопасности работы оборудования на терминалах. Linux предоставляет возможность автоматизировать долгий процесс, связанный с установкой пакетов обновлений ПО на терминалах.

Кроме того Linux обладает экономическим преимуществом перед Windows, заключающемся в отсутствии необходимости оплачивать лицензии. При покупке партии в 100 штук, это является довольно весомым преимуществом.

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

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

Дополнительно нашей командой сервиcа OPENi было написано REST API для корректной работы с терминалом согласно техническому заданию заказчика. Был создан web-интерфейс для инкассации и мониторинга состояний терминалов из OPENi, весь дополнительный функционал внутри сервиса был создан с помощью Angular и Laravel.

Модуль включал в себя возможности проведения таких операций как:

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

Общий оборот денежных средств через терминалы за время тестирования проекта составил более 10 000 000 ₽

На настоящий момент небольшая сеть из 4 устройств работает в главном офисе потребительского кооператива «Открытый Дом» в Омске и в офисе партнеров в Магнитогорске.

Контактная информация

С удовольствием пообщаемся с вами по телефону + 7 962 045 8555.

Будем рады вашему письму на электронный адрес mail@at-develop.ru.

Подписывайтесь на нас в Facebook, ВКонтакте и Dribbble.

Еще кейсы