Користувальницькькі налаштування

Налаштування сайту


Сайдбар

Розділи

Загальний опис
Історія змін
Рекомендації до оновлення
Плани на майбутнє
Відомі проблеми
Онлайн демо
Допомога проекту
Люди
Трохи про безпеку

FAQ



Редагувати сайдбар

megogo

Це стара версія документу!


Megogo

Модуль состоит из нескольких частей, и предназначен для управления и тарификации подписок пользователей на сервисе megogo.net. Модуль поддерживает как помесячную так и посуточную модели начисления АП.

Базовая конфигурация Ubilling

С точки зрения Ubilling все управляется следующими опциями alter.ini:

alter.ini
MG_ENABLED=1
MG_PARTNERID="testpartner"
MG_PREFIX="OurISP"
MG_SALT="guessmeifyoucan"
MG_SPREAD=0
MG_PERCENT=15
MG_CUSTOM_PERCENTS="1:30,2:30,3:15"
MG_FREEPERIOD_DAYS=14
MG_DOMAIN="ourisp.com"

Тарификация и включение/выключение подписок производится при помощи следующих вызовов RemoteAPI, для помесячного (MG_SPREAD=0) начисления АП:

crontab
19 1 * * *      /bin/ubapi "mgfreecleanup"
20 1 1 * *      /bin/ubapi "mgqueue"
21 1 1 * *      /bin/ubapi "mgprocessing"

И для посуточного (естественно требуется MG_SPREAD=1):

crontab
20 1 1 * *      /bin/ubapi "mgqueue"
21 1 * * *      /bin/ubapi "mgprocessing"

Как не сложно заметить, mgqueue сначала производит обработку заявок на отключение из очереди, после чего происходит снятие АП по всем активным подпискам при помощи mgprocessing. В это же время принудительно ликвидируются тестовые подписки с бесплатным периодом. Для валидной очистки подписок с тестовым периодом начиная с релиза 1.1.3 можно использовать вызов mgfreecleanup в комплексе с опцией MG_FREEPERIOD_DAYS устанавливающей жесткое количество дней, после которого подписка будет удалена. По хорошему, этот вызов должен производиться до mgqueue и mgprocessing.

Конфигурация кабинета пользователя

С точки зрения кабинета - все еще проще.

userstats.ini
MG_ENABLED=1
MG_PROTECTION=1
MG_TARIFFSALLOWED=""
MG_GUIDE_URL=""
API_URL="http://billing.isp/"
API_KEY="UBxxxxxxxxxxxxxxxx"

Собственно понятно, что URL к установленному Ubilling и его серийник должны быть валидными, для адекватного общения кабинета с биллингом, посредством RemoteAPI. Опция MG_PROTECTION во включенном виде - актуальна при помесячной тарификации услуг.

Ради чего все это?

Для того, чтобы при помощи соответствующего модуля

Мы могли добавить актуальные тарифы, и задать предоставляемые нами пользователям услуги

Пользователи смогут попытаться оформить подписку у себя в кабинете. Естественно произойти это все может, только если пользователь не является замороженным, отключенным, и у него на счету достаточно средств.

Как выглядят оформленные подписки для пользователя? Вот как-то так это и должно выглядеть.

При подписке в зависимости от значения MG_SPREAD (0 - нормальная помесячная АП, 1 - размазанная АП) со счета пользователя будет снята стоимость либо месячной либо суточной АП. Замена основной подписки производится путем отписки, и последующей подписки на новую, только с наступлением следующего месяца. Этим занимается обработчик очереди mgqueue. Сделано так, ради простоты взаиморасчетов и быстрого выявления конфликтов, пользователя, провайдера, и сервиса Megogo.
Начиная с релиза 0.7.5 перед начислением АП проверяется, не вызовет ли это задолженности на счету пользователя. Если это имеет шанс произойти - подписка будет насильно деактивирована и начисление АП производиться не будет. Естественно каждая подписка рассматривается в этом контексте раздельно. То есть если у пользователя тариф интернета за 100 денег, а также дополнительно активированы подписки за 37 и 39 денег (ага, вместе все стоит 176 денег в месяц) а на счету есть 137 денег, сначала будет начислена АП за интернет (-100) потом по очереди рассмотрены подписки и продлена будет стоящая 37 денег, и насильно деактивирована подписка за 39, так как ее продление точно вызовет задолженность на счету пользователя (-39 денег). И да - все это имеет смысл только для помесячной АП.

Начиная с релиза Ubilling 1.1.8, уходит в небытие старая авторизация, с привязкой партнерского аккаунта пользователя к существующей учетной записи на megogo.net при помощи волшебной кнопки “Перейти на Megogo”. На замену этому приходит новая модель авторизации при помощи автоматической регистрации пользователей на megogo.net посредством вызова changeCredentials и новой магической кнопки “Продолжить”. Обязательным для этого является нормально заполненная опция MG_DOMAIN. Например как-то так:

MG_DOMAIN="voslavusatane.net.ua"

При активации подписки пользователем, для него будет автоматически регистрироваться аккаунт на сайте megogo.net следующего вида логин_пользователя@voslavusatane.net.ua и использоваться по-умолчанию пароль от основного профиля пользователя. Это же все, в случае успеха, будет показываться в кабинете пользователя как-то так:

Так же все данные авторизации показываются и в интерфейсе администратора. На случай, если “пользователь забыл пароль, который он видит у себя в кабинете” либо “он его случайно сменил на сайте”, вы всегда можете взять и в ручном режиме со своей стороны прожать ему повторно “регистрацию пользователя” и обновить данные авторизации этого пользователя “на сайте”, принудительно со своей стороны.

О бесплатном периоде

Если подписка имеет бесплатный период (aka try&buy) и пользователь ранее не был подписан, ни на один другой, либо этот же тариф с бесплатным периодом, при его активации АП не взымается (точнее взымается, но в сумме “0” денег). И данная подписка в списке и кабинете пользователя будет фигурировать именно как с “бесплатным периодом”.

Ее самоликвидация произойдет в зависимости от значения MG_SPREAD - либо при наступлении нового месяца в случае полной тарификации, либо через 30 календарных дней от момента активации, при размазанной АП. После чего пользователь может возобновить подписку на этот, либо другой сервис, но бесплатного периода для него уже не наступит, и тарифицироваться он будет на общих началах.
Начиная с релиза Ubilling 1.1.3 для очистки “просроченных” подписок с бесплатным приодом рекомендуется использовать вызов mgfreecleanup в комплексе с опцией MG_FREEPERIOD_DAYS устанавливающей жесткое количество дней, после которого подписка будет удалена.

Отчетность

Отчет служит для контроля взаиморасчетов, и умеет обрабатывать как помесячную, так и посуточную тарификацию услуг и показывать количество подписок за месяц либо количество тарифицированных дней относительно тарифных планов. Ну и конечно же считает конечный профит провайдера ;)

Помесячный отчет:

Посуточный отчет

Алярма

Если будете менять IP-адрес биллинга всё перестанет работать. Со стороны Мегого адрес жестко прибит, в случае замены надо их уведомить.

megogo.1664019551.txt.gz · Востаннє змінено: 2022/09/24 14:39 повз 127.0.0.1