Думаю, вполне понятно, что «из коробки» ваучеры не имеют таких же механизмов контроля, как те, что доступны для настройки оплаты через кредитные карты или PayPal. Если я правильно понял, стратегия Ubiquiti — предоставить открытую систему, которую могут дорабатывать сторонние разработчики. Но после нескольких безответных запросов за последние месяцы с просьбой сделать необходимые мне улучшения, а также заметив похожие оставшиеся без внимания просьбы, складывается впечатление, что сторонняя разработка Unifi пока, скажем так, не слишком развита.
Решение, которое я хотел бы предложить — это внести несколько небольших изменений в одну часть кода Unifi. Я не программист профессионально, поэтому осторожно говорю, что эти изменения будут «простыми». Однако, покопавшись в системе, кажется, что пара простых улучшений в разделе «User Group» может дать большой эффект как для управления ваучерами, так и для авторизации при оплате кредитной картой или PayPal, особенно для тех из нас, кто использует Unifi как хотспот.
Сейчас «User Groups» управляют только одной настройкой — скоростью загрузки и выгрузки. И с текущей реализацией приходится отключать QoS, чтобы применять квоты по трафику при настройке оплаты через cc/PayPal (см. ниже). А что, если сделать наоборот? Расширить функционал «User Group», чтобы не требовалось отключать другие функции. Добавление двух параметров дало бы классные возможности для «User Groups»:
а) квоты (лимиты по использованию)
б) количество устройств (сколько MAC-адресов может использовать одну платёжную опцию)
см. скриншоты 1 и 2
После внесения такого базового изменения и процесс создания пакетов для оплаты через cc/PayPal, и для ваучеров могли бы просто ссылаться на определённую «User Group». Более того, поскольку неавторизованные клиенты («пользователи») тоже могут быть членами этих групп, новый функционал можно распространить практически на всех клиентов Unifi.
Вот пример с оплатой через cc/PayPal, где текстовый файл “messages.properties” используется для задания параметров:
ДО
## Пример пакета с текущими параметрами
# 24 часа с лимитом 100МБ
package.1.amount=5.99
package.1.hours=24
package.1.name=Day Pass
# перезаписывать ли политику группы пользователей для WLAN/User, по умолчанию false
package.1.limit_overwrite=true
# кбит/с, по умолчанию безлимит
package.1.limit_down=1600
# кбит/с, по умолчанию безлимит
package.1.limit_up=400
# Мб, по умолчанию безлимит
package.1.limit_quota=100
ПОСЛЕ
## Пример пакета, где параметры берутся из User Group A
# 24 часа с лимитом 100МБ
package.1.amount=5.99
package.1.hours=24
package.1.name=Day Pass
# Указать, какая группа пользователей контролирует пакет. По умолчанию — «default»
package.1.usergroup=“A”
-----------------------------
Для ваучеров текущий GUI можно улучшить добавлением одного поля — User Group
см. скриншот 3
-----------------------------
В итоге, кажется, что расширение функционала «User Group» — самый простой и вместе с тем самый мощный способ сделать систему оплаты Unifi более гибкой и расширяемой.
Джим
Примечания:
1) Можно предположить, что настройка в «User Group» по количеству устройств на одно платёжное действие просто игнорируется для оплат через cc/PayPal (хотя в будущем это можно доработать, чтобы допускать дополнительные устройства).
2) Один положительный эффект от того, что теперь не нужно отключать политику User Group в файле messages.properties (package.1.limit_overwrite=true), в том, что я заметил: когда overwrite установлен в true, ключевая статистика не записывается в базу данных. Поля ‘bytes’, ‘rx_bytes’ и ‘tx_bytes’ не заполняются, если qos_overwrite выставлен в TRUE (см. скриншот 4). Похоже, это мешает дальнейшему развитию, например, чтобы показывать гостю, сколько из его квоты уже использовано. Но я могу ошибаться — возможно, статистика пишется в другое место.
Решение, которое я хотел бы предложить — это внести несколько небольших изменений в одну часть кода Unifi. Я не программист профессионально, поэтому осторожно говорю, что эти изменения будут «простыми». Однако, покопавшись в системе, кажется, что пара простых улучшений в разделе «User Group» может дать большой эффект как для управления ваучерами, так и для авторизации при оплате кредитной картой или PayPal, особенно для тех из нас, кто использует Unifi как хотспот.
Сейчас «User Groups» управляют только одной настройкой — скоростью загрузки и выгрузки. И с текущей реализацией приходится отключать QoS, чтобы применять квоты по трафику при настройке оплаты через cc/PayPal (см. ниже). А что, если сделать наоборот? Расширить функционал «User Group», чтобы не требовалось отключать другие функции. Добавление двух параметров дало бы классные возможности для «User Groups»:
а) квоты (лимиты по использованию)
б) количество устройств (сколько MAC-адресов может использовать одну платёжную опцию)
см. скриншоты 1 и 2
После внесения такого базового изменения и процесс создания пакетов для оплаты через cc/PayPal, и для ваучеров могли бы просто ссылаться на определённую «User Group». Более того, поскольку неавторизованные клиенты («пользователи») тоже могут быть членами этих групп, новый функционал можно распространить практически на всех клиентов Unifi.
Вот пример с оплатой через cc/PayPal, где текстовый файл “messages.properties” используется для задания параметров:
ДО
## Пример пакета с текущими параметрами
# 24 часа с лимитом 100МБ
package.1.amount=5.99
package.1.hours=24
package.1.name=Day Pass
# перезаписывать ли политику группы пользователей для WLAN/User, по умолчанию false
package.1.limit_overwrite=true
# кбит/с, по умолчанию безлимит
package.1.limit_down=1600
# кбит/с, по умолчанию безлимит
package.1.limit_up=400
# Мб, по умолчанию безлимит
package.1.limit_quota=100
ПОСЛЕ
## Пример пакета, где параметры берутся из User Group A
# 24 часа с лимитом 100МБ
package.1.amount=5.99
package.1.hours=24
package.1.name=Day Pass
# Указать, какая группа пользователей контролирует пакет. По умолчанию — «default»
package.1.usergroup=“A”
-----------------------------
Для ваучеров текущий GUI можно улучшить добавлением одного поля — User Group
см. скриншот 3
-----------------------------
В итоге, кажется, что расширение функционала «User Group» — самый простой и вместе с тем самый мощный способ сделать систему оплаты Unifi более гибкой и расширяемой.
Джим
Примечания:
1) Можно предположить, что настройка в «User Group» по количеству устройств на одно платёжное действие просто игнорируется для оплат через cc/PayPal (хотя в будущем это можно доработать, чтобы допускать дополнительные устройства).
2) Один положительный эффект от того, что теперь не нужно отключать политику User Group в файле messages.properties (package.1.limit_overwrite=true), в том, что я заметил: когда overwrite установлен в true, ключевая статистика не записывается в базу данных. Поля ‘bytes’, ‘rx_bytes’ и ‘tx_bytes’ не заполняются, если qos_overwrite выставлен в TRUE (см. скриншот 4). Похоже, это мешает дальнейшему развитию, например, чтобы показывать гостю, сколько из его квоты уже использовано. Но я могу ошибаться — возможно, статистика пишется в другое место.
