You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

Начиная с версии 1.3.1105 WNAM поддерживает механизмы взимания оплаты с абонента сети Wi-Fi для организации платного доступа.

Внимание! Данная функция является лицензируемой. Обращайтесь на support@netams.com за дополнительной информацией.

Внимание! Программное обеспечение WNAM не является биллинговой системой и не имеет соответствующего сертификата. Использование WNAM для оказания платных услуг связи требует а) наличие у вас лицензии Оператора связи и б) наличие у вас сертифицированной системы биллинга.

Внимание! Работа абонентов с оплаченным доступом (платных абонентов) в "прозрачном режиме", т.е. с автоматическим подключением к Wi-Fi сети без всплывающих окон требует поддержки вашим оборудованием (контроллер, хотспот) режима МАС-авторизации устройств по МАС-адресу. При этом не гарантируется защита от злоумышленников, подделывающих (подменяющих) МАС-адреса мобильных устройств.

Настройка

Подключиться к платежной системе. В настоящий момент поддерживается Яндекс.Касса (https://kassa.yandex.ru/). Необходимо получить идентификаторы и прописать их в настройках /etc/wnam.properties:

yamoney_shopid=хххх
yamoney_scid=хххх
yamoney_url=https://money.yandex.ru/eshop.xml
yamoney_password=YYYYY

Для проведения тестирования укажите yamoney_url=https://demomoney.yandex.ru/eshop.xml

В личном кабинете Яндекс.Кассы укажите URL возврата веб-сессии абонента на адрес вашего сервера WNAM, а также пути до API проверки валидности платежа:

https://wnam.provider.ru/api/yandex/check  
https://wnam.provider.ru/api/yandex/aviso  
https://wnam.provider.ru/api/yandex/success  
https://wnam.provider.ru/api/yandex/fail
Вы обязаны установить SSL сертификат на ваш сервер WNAM (https://wnam.provider.ru/), в противном случае платежная система не будет с ним взаимодействовать. Сертификат можно купить, либо подписаться на сервис от Let's Encrypt.

Необходимо в административном интерфейсе WNAM, в конструкторе страниц, создать страницу типа "Приветствие" или "Другое" с шаблоном, соответствующим платежной форме, на которой абонент будет выбирать одну из тарифных опций для совершения платежа. Образец такой страницы приведен на сайте http://www.netams.com/files/wnam/portalpages/pay.html. Вы должны отредактировать страницу (указать варианты платежей согласно вашему предполагаемому тарифу) в "экспертном режиме" конструктора.

Затем вы должны создать тариф в меню "Конфигурация - платный доступ". Система WNAM позволяет иметь неограниченное число созданных тарифов. 


В разделе "Действие" необходимо отредактировать тариф. Описание тарифа состоит из набора обязательных полей (свойств тарифа), а также списка из одного или более тарифных элементов:



Название тарифа - произвольное слово, которое затем будет отображаться в отчетности.
Параметры "Число сессий в день доступа без оплаты" и "Число сессий в день доступа без оплаты" позволяют задать желаемое число. Рекомендуемые значения: 1 и 3. 
Страница выбора тарифа позволяет задать созданную на предыдущем шаге в конструкторе страницу:


Параметр "Длительность бесплатной сессии, сек." определяет время, в течение которого абонент может произвести оплату после того, как выберет один из тарифных элементов. Подробнее логика работы WNAM описана ниже.
Параметр "Действие по исчерпанию лимита числа бесплатных сессий" определяет, что произойдет, когда абонент достигнет установленного ограничения. Возможны два варианта: показ формы (страницы с запретом) либо безусловны переход по ссылке (адрес сайта должен находиться в Walled Garden хотспота).
Параметр "Отключен" позволяет отключить работу по тарифу (прием оплаты будет невозможен).
Параметр "Показывать рекламу даже тем, кто оплатил" отключает безусловный пропуск устройств абонентов при МАС-авторизации с целью демонстрации даже платным абонентам хотспота и страницы с рекламным материалом.
Параметр "Платежный шлюз" имеет только одно допустимое значение: Yandex.Kassa.

Затем идет набор одного или более "тарифных элементов", которые определяют сетку тарифа, то есть суммы оплаты за предоставление доступа на заданное время.
Внимание! Параметры (длительность, стоимость) должны в точности повторять набор параметров, заданных в форме оплаты (функция doPay(X,Y)).
Каждый из тарифных элементов редактируется отдельно. Параметр "Промо код" в настоящий момент не используется:



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


На этом настройка WNAM завершена. Ознакомьтесь с описанием логики работу системы платного доступа перед переходом к проверке.

Описание логики работы

Ранее не известный системе абонент обязан будет пройти стадию идентификации (авторизации) согласно настроек в соответствующем разделе WNAM.

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


Если сессия закончена, абонент пробует подключиться заново, но лимит числа бесплатных сессий для данного тарифа исчерпан, абоненту будет показано соответствующее сообщение либо сделан перевод по заданной ссылке (убедитесь, что она находится "внутри" Walled Garden хотспота).

Если абонент выбирает один из тарифных элементов, то происходит последовательно:

  • открытие полного доступа в Интернет на хотспоте на время, соответствующее выбранном тарифному элементу или без лимита по времени)
  • перенаправление сессии абонента путем отправки формы методом POST на сайт платежной системы (Яндекс.Касса).

Полный доступ в Интернет требуется, в первую очередь, для проверки платежа абонента через 3D Secure, для подтверждения платежа кодом из СМС на сайте банка-эмитента карты абонента, который заранее не известен.

На сайте платежной системы абоненту демонстрируется предзаполненная форма с идентификаторами оплаты и предложением указать реквизиты кредитной карты:

Номер заказа - последние 4 цифры номера телефона абонента и 4 случайных цифры. Номер покупателя - МАС адрес абонентского устройства. Сумма соответствует выбранному абоненту тарифному элементу.

При успешной оплате абоненту демонстрируется подтверждение:

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

Если платеж не успешен (например, произошел отказ в проведении транзакции либо абонент не успел уложиться в отведенное для платежа время), абоненту демонстририруется страница с ошибкой:

Переход по любой из ссылок дает возможность абоненту повторить оплату еще раз.

В случае, если абонент произвел успешную оплату до завершения периода, указанного в параметре "Длительность бесплатной сессии, сек.", то по завершении оплаты сессия абонента не прерывается. В противном случае, WNAM сбрасывает сессию абонента и терминирует необработанный заказ.

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

Параметры учетной записи абонента содержат заполненную третью вкладку - "Оплата":


Указаны: дата и время последнего совершенного платежа, его сумма, номера заказа, инвойса платежной системы, где была совершена оплата, по какому тарифу и тарифному элементу, оплаченное время (до какого периода действует оплата), дана возможность включать/отключать принудительный показ рекламы (безотносительно того, как это выставлено в настройках тарифа), отображается число совершенных оплат и их сумма.

Администратор может подарить время (продлить действие платного доступа), сбросить факт оплаченности доступа, а также перейти в отчет с историей оплат данного абонента.

Факт оплаченности будет также отображен в сведениях о сессии абонента:

Диагностика

В случае успешного подключения с последующей оплатой в лог-файле wnam.log появятся записи такого рода: 

20:07:41.424 DEBUG [c.n.w.web.cp.CaptivePortalController:384] - CP mikrotik clicked: username=4C:57:CA:XX:XX:XX, ip=10.130.102.195, dst='http://bash.im/', server_address=10.1.0.102:80, server_name='mk-provider'
20:07:41.433 DEBUG [c.n.w.web.cp.CaptivePortalController:1732] - processAuthRequest MIKROTIK: username=4C:57:CA:XX:XX:XX, ip=10.130.102.195, server=10.1.0.102:80, site_id=10, dst='http://bash.im/'
20:07:41.433 DEBUG [c.n.w.web.cp.CaptivePortalController:1890] - processRedirectRequestCi mac=4C:57:CA:XX:XX:XX, method=PAY, formName=, redirectUrl=http://www.provider.ru/, key=7974c020-3ae3-421e-b88a-469d45e98d7b
20:07:46.121 DEBUG [c.n.w.web.cp.CaptivePortalController:1517] - postPay tariff='ТарифПервый' (58aca3a6a18c761e7c359b61), t_element='Один' (1), amount='10', time=1, code='null', ci=7974c020-3ae3-421e-b88a-469d45e98d7b
20:07:46.133 DEBUG [c.n.w.web.cp.CaptivePortalController:2234] - loginAtNasCi MIKROTIK mac=4C:57:CA:XX:XX:XX, ip=10.130.102.195, server=10.1.0.102:80, dst='http://wnam.provider.ru/cp/pay'
20:07:46.138 DEBUG [com.netams.wnam.web.cp.Mikrotik:37] - backToMikrotik login len=548, server='10.1.0.102:80', username=4C:57:CA:XX:XX:XX, password=password, dst='http://wnam.provider.ru/cp/pay'
20:07:47.610 INFO [WnamRadius:549] - AUTH for new session ID=80100f03-xxxxxx, request MAC=4C:57:CA:XX:XX:XX, IP=10.130.102.195, cust_clientid=null
20:07:47.686 INFO [WnamRadius:723] - ACCT Start existing (80100f03-xxxxxx) session ID=80100f03-xxxxxx, MAC=4C:57:CA:XX:XX:XX, IP=10.130.102.195, NAS=172.16.130.9
20:07:47.691 DEBUG [c.n.wnam.services.WnamCmdService:826] - ACCT-Start uhid task NAS=172.16.130.9, CUST=4C:57:CA:XX:XX:XX, IP=10.130.102.195, DB=wnam_db
20:07:47.692 DEBUG [c.n.wnam.services.WnamCmdService:189] - ACCT-Start uhid processing NAS=172.16.130.9, CUST=4C:57:CA:XX:XX:XX, IP=10.130.102.195, DB=wnam_db
20:07:47.693 DEBUG [c.n.wnam.services.WnamCmdService:991] - updateHostIdentity connecting to NAS 172.16.130.9 of 0
20:07:47.723 DEBUG [c.n.w.web.cp.CaptivePortalController:1556] - getPay tariff='58aca3a6a18c761e7c359b61, amount='10.0', time=1
20:08:16.578 DEBUG [com.netams.wnam.web.api.YandexKassa:95] - CHECK customerNumber=4C:57:CA:XX:XX:XX, Payment={Phone=79996662211, tariffId=58aca3a6a18c761e7c359b61, amount=10.0, orderId=2211-6129}, code=0
20:08:16.964 INFO [com.netams.wnam.web.api.YandexKassa:145] - AVISO customerNumber=4C:57:CA:XX:XX:XX, amount=10.00, payment ID=2000001131544 for tariff 'ТарифПервый' until 1491070096962 (+ 1 hours)
20:08:30.621 INFO [com.netams.wnam.web.api.YandexKassa:195] - SUCCESS customerNumber=4C:57:CA:XX:XX:XX, orderNumber=2211-6129, invoiceId=2000001131544, shopDefaultUrl='http://www.provider.ru/', CI=found

Также в веб-интерфейсе WNAM в разделе "Логи переданных в WNAM команд" отобразятся сведения о транзакции:

01.04.2017 21:42:47PAYMENT{Site=10, Phone=79996662211, Amount=200.00, OrderNumber=2211-3744, InvoiceId=2000001131561, MAC=4C:57:CA:XX:XX:XX, Until=2017-04-08T21:42:47.584+03:00}

Отчеты

По результатам работы платежного механизма формируются соответствующие отчеты.

  • No labels