Сценарии работы, API
Принцип работы
Организация взаимодействия с пользователем посредством интерфейса на базе WebKit осуществляется с использованием сценариев на языке JavaScript. При этом ядро системы предоставляет высокоуровневое API для осуществления таких операций, как ввод наличности, печать чеков, взаимодействие с модулями (например stamp).
Основные объекты и методы
Объект controller
Объект является основным и выполняет операции самого широкого профиля.
Методы:
- StartCashin (min, max) - начинает приём наличности от min до max.
- StopCashin () - останавливает приём наличности.
- PrintCheque (value_map) - печатает чек с картой параметров.
Сигналы:
- CashAcceptedSync (accepted_amount, accepted_bills) - извещает о сумме и кол-ве принятых купюр
- CashUseSync (in_use) - извещает о занятости устройств приёма наличности (возможности прервать приём).
Объект stamp
Организует взаимодействие с ПС Стамп.
Методы:
- GetOperatorMap () - возвращает карту операторов.
- GetOperatorInfo (operator_id) - возвращает информацию по оператору.
- GetTerminalParamMap () - возвращает карту параметров терминала.
- StartCheck (operator_id, input_map) - начинает запрос на проверку реквизитов платежа.
- CommitPayment (operator_id, input_map, pay_amount, com_amount) - проводит платёж на указанные реквизиты.
- HasUncommitedPayment () - возвращает признак того, есть ли в системе неотправленный платёж.
Сигналы:
- Sync () - требуется синхронизация карты операторов
- CheckResult (result, operator_param) - результат проверки реквизитов с параметрами платежа (комиссия, минимальная комиссия и т.д.)
Общая архитектура
Сценарий с точки зрения логики разбит на несколько страниц. Логика каждой страницы представлена отдельным js-файлом (например, operatorselect.js) и отдельным блоком div в index.html (например <div id="page_os">).