Активация на портале

В WiFi-портале есть возможность активации на портале с помощью sms или любым другим способом(логика реализуется в динамическом скрипте на стороне сервера биллинга). Для этого в конфигурации должна быть добавлена опция

 portal.activate=1

В этом случае на странице авторизации появится ссылка "Активация", нажав на которую попадаем на новую страницу активации.

images/download/attachments/43385941/wifi_auth.jpg images/download/attachments/43385941/wifi_activate.jpg

Вид страницы активации зависит от настройки. Вот пример :

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.bitel.bgbilling.kernel.wifi.common.event.WiFiActivateEvent). И все параметры передаются в WiFiActivateEvent. Скрипт делает все необходимые проверки и действия( создает договор, сервис и т.п. ). В случае каких-либо ошибок скрипт сообщает о них с помощью установки метода setError в событие WiFiActivateEvent. В случае успешного выполнения скрипт устанавливает сообщение об успешном выполнении в помощью метода setSuccessMessage. Оба сообщение ( о успехе или неудаче) отображаются на активации.

Так же поддерживается другой механизм - активация с переходом по некторому URL. В этом случае нужно вместо настройки представленной в начале нашей статьи поставить другую:

portal.activate.with.forward=1

В этом случае логика обработки скриптом аналогично алгоритму описанному выше, за исключением того, что в случае успеха вызывается не setSuccessMessage, а метод setPayUrl, в который передается UR для оплатыL. Портал в случае успеха переходит для оплаты по этому URL.

Например с помощью этого механизма можно сделать переход на станицу оплаты assist в личный кабинет.