Активация на портале
В WiFi-портале есть возможность активации на портале с помощью sms или любым другим способом(логика реализуется в динамическом скрипте на стороне сервера биллинга). Для этого в конфигурации должна быть добавлена опция
portal.activate=1
В этом случае на странице авторизации появится ссылка "Активация", нажав на которую попадаем на новую страницу активации.
Вид страницы активации зависит от настройки. Вот пример :
portal.activate.parameter.1.type=text
portal.activate.parameter.1.name=fio
portal.activate.parameter.1.title=фио
portal.activate.parameter.2.type=text
portal.activate.parameter.2.name=phone
portal.activate.parameter.2.title=телефон
Тут type - это тип параметра ( на текущий момент поддерживается только text). name - это некоторый уникальный идентификатор параметра, может быть использован в скрипте на сервера(об это дальше). title - имя параметра, как оно будет отображаться на странице активации.
Далее при нажатии на кнопку активации происходит отправка всех параметров на сервер биллинга. На сервере биллинга возникает глобальное событие "WiFi - активация"( класс ru.avantis.abilling.kernel.wifi.common.event.WiFiActivateEvent). И все параметры передаются в WiFiActivateEvent. Скрипт делает все необходимые проверки и действия( создает договор, сервис и т.п. ). В случае каких-либо ошибок скрипт сообщает о них с помощью установки метода setError в событие WiFiActivateEvent. В случае успешного выполнения скрипт устанавливает сообщение об успешном выполнении в помощью метода setSuccessMessage. Оба сообщение ( о успехе или неудаче) отображаются на активации.
Так же поддерживается другой механизм - активация с переходом по некторому URL. В этом случае нужно вместо настройки представленной в начале нашей статьи поставить другую:
portal.activate.with.forward=1
В этом случае логика обработки скриптом аналогично алгоритму описанному выше, за исключением того, что в случае успеха вызывается не setSuccessMessage, а метод setPayUrl, в который передается UR для оплатыL. Портал в случае успеха переходит для оплаты по этому URL.
Например с помощью этого механизма можно сделать переход на станицу оплаты assist в личный кабинет.