Жизненный цикл подписки¶
Здесь описаны состояния услуг пользователя в биллинге MEGOGO — подписок (SVOD), аренды (TVOD) и покупок (DTO), — а также то, как поддерживать одинаковое состояние в вашей системе и в MEGOGO.
Ведущая система — ваша: вы продаете услуги и списываете оплату с пользователей, а MEGOGO лишь регистрирует услуги, которые вы передаете. Billing API не отправляет уведомлений в вашу систему.
Подписка (SVOD)¶
stateDiagram-v2
state "Активна" as Active
state "Приостановлена" as Suspended
state "Завершена" as Ended
[*] --> Active: subscribe
Active --> Active: subscribe (продление партнером, +1 период)
Active --> Suspended: suspend
Suspended --> Active: resume
Active --> Ended: unsubscribe
Suspended --> Ended: unsubscribe
Active --> Ended: дата окончания (продление партнером)
Ended --> Active: subscribe
| Состояние | В user/subscriptions |
Пользователь может смотреть |
|---|---|---|
| Активна | Да, в svod, с dateFinish |
Да |
| Приостановлена | Нет | Нет. Оплаченное время сохраняется до resume |
| Завершена | Нет | Нет |
Режим продления услуги определяет, как подписка остается в состоянии «Активна»:
| Режим | Что сохраняет подписку активной |
|---|---|
| Автоматическое продление | MEGOGO продлевает подписку на каждый следующий период, пока вы не отправите unsubscribe |
| Продление партнером | Каждый subscribe добавляет один период. Без нового subscribe подписка заканчивается в момент dateFinish |
Запросы описаны в инструкции Продажа подписки.
ПРИМЕЧАНИЕ
Приостановленная и завершенная подписки в user/subscriptions
выглядят одинаково: подписки в ответе нет. Поэтому состояние
«приостановлена» храните в своей системе.
Аренда (TVOD)¶
stateDiagram-v2
state "Ожидает просмотра" as Unwatched
state "Просмотр начат" as Started
[*] --> Unwatched: buyMovie
Unwatched --> Started: первый /stream с src
Started --> [*]: dateFinish
| Состояние | status в user/subscriptions |
dateFinish |
|---|---|---|
| Ожидает просмотра | unwatched |
Нет |
| Просмотр начат | started |
Окончание периода аренды |
Период аренды начинается не в момент покупки, а с первого ответа
/stream с src. См.
Продажа отдельного видео.
Покупка (DTO)¶
buyMovie с тарифом DTO открывает пользователю доступ на срок тарифа,
например на 3 650 дней. Покупка передается в массиве dto ответа
user/subscriptions — без status и без dateFinish.
Отмена покупки¶
В Billing API нет запроса для отмены аренды или покупки (buyMovie).
Если нужно вернуть пользователю деньги, обратитесь к вашему менеджеру
MEGOGO.
Сверка¶
Регулярно сверяйте свои данные с данными MEGOGO — например, раз в день, — а также после каждого запроса, который завершился ошибкой или тайм-аутом:
- Отправьте
user/subscriptionsдля каждого пользователя, у которого в вашей системе есть активная услуга. - Сравните услуги и даты окончания.
- Устраните расхождения:
| Ваша система | MEGOGO | Что делать |
|---|---|---|
| Активная подписка | Нет в svod |
Если в вашей системе подписка приостановлена, ничего делать не нужно. Иначе отправьте subscribe |
| Нет подписки | Есть в svod |
Отправьте unsubscribe |
| Дата окончания | Другое значение dateFinish |
Используйте dateFinish из MEGOGO. Не вычисляйте дату окончания самостоятельно |
| Покупка (DTO) или аренда, которая еще не закончилась | Нет в tvod или dto |
Повторно отправьте buyMovie с тем же tariff_id. Код 400 означает, что покупка уже зарегистрирована |
Прежде чем отправлять subscribe в режиме «продление партнером»,
убедитесь, что подписки нет в svod: каждый subscribe добавляет один
период.
См. также¶
Версия руководства 1.4.1, 2026-10-31 · Сообщить о проблеме на этой странице