Smarty

  1. Домой
  2. Документы
  3. Smarty
  4. Интеграция с биллинговой системой
  5. Описание работы встроенного биллинга

Описание работы встроенного биллинга

Встроенный биллинг в Smarty выполняет базовые операции по тарификации и аккаунтингу, а также определяет доступность тех или иных услуг и контента для абонента.

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

Базовый режим работы встроенного биллинга

В базовом режиме работы основным понятием является тарифный пакет, который определяет список доступного для просмотра контента.

Тарифный пакет представляет собой группу объединенных в него стриминг-сервисов и контента, например телеканалов, интерактивных функций, фильмов и т.д.

Набор подключенных тарифных пакетов у абонента и аккаунта определяет набор доступного для просмотра контента со стриминг-сервисов, при этом возможно их пересечение в разных тарифных пакетах.

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

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

Период действия тарифа для аккаунта

В базовом режиме работы биллинга для каждого аккаунта может быть задана дата активации и дата деактивации. Когда наступает дата активации аккаунт автоматически активируется и может быть авторизован в системе и получить доступ к просмотру. Когда наступает дата деактивации, аккаунт деактивируется.

Для выполнения этих операций должна быть настроена служебная команда check_accounts в crontab.

Период может быть установлен и продлен вручную, с помощью Billing API, либо автоматически с первичным бесплатным промо-периодом.

Для включения автоматического продления периода используется специальное поле аккаунта «Активация после первого входа», которое предустанавливается для нового аккаунта и определяет первый бесплатный период. Если это поле задано, то после первой авторизации такого аккаунта он сразу активируется, при этом устанавливается дата активации (текущая дата) и дата деактивации (дата активации + число дней пробного доступа).

В момент наступления даты деактивации если на счете абонента есть необходимая сумма средств для оплаты всех подключенных тарифных пакетов и опций на очередной месяц, то происходит списание этих средств и аккаунт остается активированным. Устанавливается дата продления, равная текущей дате (необходима для расчета следующего списания). Через следующий период (календарный месяц) продление повторяется.

Если средств недостаточно, то аккаунт деактивируется. В момент списания средств создается транзакция с отрицательной суммой операции.

Зачисление средств на счет абонента возможно через ручное создание транзакции в биллинге, через Billing API или в результате оплаты абонентом через платежный шлюз. После подтверждения транзакции если аккаунт абонента неактивен, то происходит попытка списания средств и продления аккаунта, а если он активен — то средства зачисляются на виртуальный счет абонента в Smarty. В момент оплаты создается транзакция с положительной суммой операции.

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

Режим подписок

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

Подписка — дополнительная сущность, которая определяет подключенный тарифный пакет, дату начала и окончания действия подписки. Подписка может переопределять базовую стоимость тарифного пакета, что позволяет внедрить такие функции, как промо-коды, «замочки на контенте», скидки при оплате на длительный период и другие маркетинговые возможности.

Подробнее режим подписок описан тут.

Важные особенности тарифных пакетов

Мультиабонемент

Мультиабонемент — это возможность использовать единый аккаунт на нескольких устройствах. Smarty позволяет гибко настроить возможности мультиабонемента для разного типа устройств — базовых (например, Multicast-устройства) и дополнительных (например, OTT-устройства). Тип устройства (базовое или дополнительное) вы можете задать произвольно в настройках устройств в панели управления Smarty (раздел «Общие настройки»).

Ограничения мультиабонемента настраиваются в параметрах тарифного пакета. Если у абонента/аккаунта подключено несколько тарифных пакетов, то соответствующее ограничение определяется как максимальное значение из всех подключенных пакетов.

Опция «Максимальное количество базовых устройств» — это ограничение действует на максимальное количество привязанных к аккаунту базовых устройств, имеющих сессию авторизации в Smarty (не обязательно online). На запрос авторизации с базового устройства сверх лимита сервером будет возвращен запрет авторизации (код 5 на запрос Login, см. документацию TV-Middleware API).

Опция «Максимальное количество одновременных сессий дополнительных устройств» — это ограничение работает по принципу «карусели» и действует на количество одновременных online-сессий аккаунта с дополнительных устройств. Авторизация с дополнительного устройства сверх лимита разрешена, однако в этом случае самая старая сессия аккаунта будет деавторизована.

Дополнительно существует возможность включить проверку IP-адресов, с которых авторизованы одновременно используемые дополнительные устройства. Если проверка включена, то при авторизации нового дополнительного устройства с другого IP-адреса, все устройства с предыдущего IP-адреса будут деавторизованы.

Базовые и дополнительные тарифные пакеты

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

Абонент может выбрать только один из базовых тарифов при регистрации и в личном кабинете.

Тариф, не являющийся базовым, считается дополнительным. Дополнительные тарифы могут быть подключены только дополнительно к одному из базовых, и не могут быть подключены отдельно от него.

Доступность тарифного пакета для неактивных аккаунтов

Специальная опция тарифного пакета «Доступен для неактивных аккаунтов» позволяет создать тарифные пакеты с набором бесплатных услуг, доступных абонентам, которые были отключены по причине неуплаты или по другой причине.

Таким образом, можно создать набор телеканалов или дополнительных сервисов, которые будут доступны неактивным абонентам, например бесплатный пакет телеканалов.

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