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

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

crontab
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. В это же время принудительно ликвидируются тестовые подписки с бесплатным периодом.

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

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

userstats.ini
MG_ENABLED=1
MG_PROTECTION=1
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 денег). И да - все это имеет смысл только для помесячной АП.

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

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

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

Отчетность

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

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

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

megogo.txt · Последние изменения: 2016/03/23 17:27 — nightfly
 
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki