====== Megogo ====== {{ :megogologo.png? |}} Модуль складається з декількох частин, і призначений для управління і тарифікації підписок користувачів на сервісі [[http://megogo.net|megogo.net]]. Модуль підтримує як помісячну так і подобову моделі нарахування АП. ====== Базова конфігурація Ubilling ====== З точки зору Ubilling усе керується такими опціями [[alteriniconf|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|RemoteAPI]], для помісячного (MG_SPREAD=0) нарахування АП: 19 1 * * * /bin/ubapi "mgfreecleanup" 20 1 1 * * /bin/ubapi "mgqueue" 21 1 1 * * /bin/ubapi "mgprocessing" І для подобового (природно потрібно MG_SPREAD=1): 20 1 1 * * /bin/ubapi "mgqueue" 21 1 * * * /bin/ubapi "mgprocessing" Як не складно помітити, **mgqueue** спочатку здійснює обробку заявок на відключення з черги, після чого відбувається зняття АП за всіма активними підписками за допомогою **mgprocessing**. У цей же час примусово ліквідуються тестові підписки з безкоштовним періодом. Для валідного очищення підписок із тестовим періодом починаючи з релізу 1.1.3 можна використовувати виклик **mgfreecleanup** у комплексі з опцією **MG_FREEPERIOD_DAYS**, що встановлює жорстку кількість днів, після якої підписку буде видалено. По-хорошому, цей виклик має здійснюватися до mgqueue і mgprocessing. ====== Конфігурація кабінету користувача ====== З точки зору [[userstats|кабінету]] - все ще простіше. MG_ENABLED=1 MG_PROTECTION=1 MG_TARIFFSALLOWED="" MG_GUIDE_URL="" API_URL="http://billing.isp/" API_KEY="UBxxxxxxxxxxxxxxxx" Власне зрозуміло, що URL до встановленого Ubilling і його серійник мають бути валідними, для адекватного спілкування кабінету з білінгом, за допомогою RemoteAPI. Опція MG_PROTECTION у ввімкненому вигляді - актуальна в разі помісячної тарифікації послуг. ====== Заради чого все це? ====== Для того, щоб за допомогою відповідного модуля {{:megogo0.png?|}} Ми могли додати актуальні тарифи, і задати послуги, що надаються нами користувачам {{:megogo1.png?500|}} Користувачі зможуть спробувати оформити підписку у себе в кабінеті. Природно статися це все може, тільки якщо користувач не є замороженим, відключеним, і у нього на рахунку достатньо коштів. {{:megogo2.png?500|}} Який вигляд мають оформлені підписки для користувача? Ось якось так це і має виглядати. {{:megogo3.png?500|}} Під час передплати залежно від значення MG_SPREAD (0 - нормальна щомісячна АП, 1 - розмазана АП) з рахунку користувача буде знято вартість або місячної, або добової АП. Заміна основної підписки проводиться шляхом відписки, і подальшої підписки на нову, тільки з настанням наступного місяця. Цим займається обробник черги **mgqueue**. Зроблено так, заради простоти взаєморозрахунків і швидкого виявлення конфліктів, користувача, провайдера, і сервісу Megogo. \\ Починаючи з релізу 0.7.5 перед нарахуванням АП перевіряється, чи не викличе це заборгованості на рахунку користувача. Якщо це має шанс статися - підписка буде насильно деактивована і нарахування АП проводитися не буде. Звісно, кожна підписка розглядається в цьому контексті окремо. Тобто якщо у користувача тариф інтернету за 100 грошей, а також додатково активовані передплати за 37 і 59 грошей (ага, разом все коштує 196 грошей на місяць), а на рахунку є 137 грошей, спочатку буде нараховано АП за інтернет (-100), потім по черзі розглянуті передплати, продовжено передплату, що коштує 37 грошей, і насильно деактивовано передплату за 59, оскільки її продовження точно викличе заборгованість на рахунку користувача (-59 грошей). І так - все це має сенс тільки для помісячної АП.\\ **Починаючи з релізу Ubilling 1.1.8, відходить у небуття стара авторизація**, з прив'язкою партнерського акаунта користувача до наявного облікового запису на [[https://megogo.net|megogo.net]] за допомогою чарівної кнопки "Перейти на Megogo". На заміну цьому приходить нова модель авторизації за допомогою автоматичної реєстрації користувачів на megogo.net за допомогою виклику changeCredentials і нової магічної кнопки "Продовжити". Обов'язковою для цього є нормально заповнена опція MG_DOMAIN. Наприклад якось так: MG_DOMAIN="voslavusatane.net.ua" Під час активації підписки користувачем, для нього автоматично реєструватиметься акаунт на сайті megogo.net такого вигляду **логин_пользователя@voslavusatane.net.ua** і використовуватиметься за замовчуванням пароль від основного профілю користувача. Це ж усе, в разі успіху, буде показуватися в кабінеті користувача якось так: {{:mgcredentials0.jpg?600|}} {{:mgcredentials2.jpg?600|}} Так само всі дані авторизації показуються і в інтерфейсі адміністратора. На випадок, якщо "користувач забув пароль, який він бачить у себе в кабінеті" або "він його випадково змінив на сайті", ви завжди можете взяти і в ручному режимі зі свого боку натиснути йому повторно "реєстрацію користувача" і оновити дані авторизації цього користувача "на сайті", примусово зі свого боку. {{:mgcredentials1.jpg|}} ====== Про безкоштовний період ====== Якщо підписка має безкоштовний період (aka try&buy) і користувач раніше не був підписаний, ні на один інший, або на цей самий тариф із безкоштовним періодом, під час його активації АП не стягується (точніше стягується, але в сумі "0" грошей). І дана підписка в списку і кабінеті користувача буде фігурувати саме як з "безкоштовним періодом". {{:megogo4.png?500|}} Її самоліквідація відбудеться залежно від значення MG_SPREAD - або з настанням нового місяця в разі повної тарифікації, або через 30 календарних днів з моменту активації, в разі розмазаної АП. Після чого користувач може відновити підписку на цей, або інший сервіс, але безкоштовного періоду для нього вже не настане, і тарифікуватися він буде на загальних обставинах. \\ Починаючи з релізу Ubilling 1.1.3 для очищення "прострочених" підписок із безоплатним періодом рекомендується використовувати виклик **mgfreecleanup** у комплексі з опцією MG_FREEPERIOD_DAYS, що встановлює жорстку кількість днів, після якої підписку буде видалено. ====== Звітність ====== Звіт слугує для контролю взаєморозрахунків, і вміє обробляти як помісячну, так і подобову тарифікацію послуг і показувати кількість підписок за місяць або кількість тарифікованих днів щодо тарифних планів. Ну і звісно ж рахує кінцевий профіт провайдера ;) **Місячний звіт:** {{:megogo5.png?500|}} **Добовий звіт** {{:megogo6.png?500|}} ====== Алярма ====== Якщо будете змінювати IP-адресу білінгу, все перестане працювати. З боку Мегого адреса жорстко прибита, у разі заміни треба їх повідомити.