Smarty

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

Подписочная модель биллинга

Активация и включение подписочной модели

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

SMARTY_KEY = 'ЗДЕСЬ_УКАЗАН_ВАШ_КЛЮЧ_ЛИЦЕНЗИИ'
SMARTY_LICENSE_PARAMS = {
'monitoring_limit': 0,
'account_limit': 1000,
'api_list': ['tvmw','billing', 'new_billing'],
'device_types': [],
'device_limit': 0,
}

Пример конфигурации лицензии с активированной подписочной моделью (Вариант 1).

Пример конфигурации лицензии с активированной подписочной моделью (Вариант 2).

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

Изменение поведения внутреннего биллинга

После изменения типа биллинга на подписочную модель, необходимо выполнить management-команду migrate_to_nb

smarty_manage migrate_to_nb --settings=settings.smarty

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

Отличия подписочной модели от простого биллинга

Главное отличие подписочной модели от стандартной — возможность создавать подписки с разной длительностью действия. Продление подписок происходит независимо друг от друга, согласно датам их окончания (начиная с версии Smarty 1.94).
Во время создания тарифного плана в поле «Период» можно указать период длительности подписки. Данный параметр будет отвечать за длительность действия подписки (также, период действия подписки можно изменять, при подключении тарифного плана через админку Smarty, либо через BillingApi с помощью метода CustomerTariffSubscriptionCreate).

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

Новые поля в конфигурации тарифа для подписочной модели биллинга

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

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

Еще одним важным отличием подписочной модели от стандартной является появление поля «Подписки» в экране админки Smarty «Информация об абоненте». В этом поле отображаются все подписки абонента, а также информация об этих подписок — название, срок их действия, является ли данная подписка периодической или нет и активна ли она.

Блок «Подписки» на экране информации об абоненте

В этом же блоке есть возможность добавить подписку абоненту, предварительно изменив параметры подписки (или оставить эти параметры по умолчанию). По нажатию на кнопку «Добавить подписку» открывается окно, в котором можно выбрать тарифный пакет и указать параметры для подписки.

Окно добавления подписки через админку Smarty

Опции конфигурации Smarty для подписочной системы.

BILLING_CHECK_NON_BASIC_SUBS — данная опция отвечает за зависимость активации аккаунта от наличия подписки на базовый тариф. При True аккаунт остается активным вне зависимости от того, есть ли у него подписка на базовый тариф или нет (аккаунт деактивируется только по окончанию всех подписок). При False осуществляется проверка на наличие базового тарифа — если подписки на базовый тариф нет или она истекла, то аккаунт будет деактивирован (в независимости от того, что у аккаунта есть подписка на другие тарифные планы).
BILLING_ACCURATE_SUBSCRIPTIONS — данная опция отвечает за выставление точных временных меток активации/деактивации подписки. При False время начала и время окончания подписки будет выставляться всегда одно и тоже (12:00 того дня, когда была активирована подписка и 12:00 того дня, когда подписка будет деактивирована соответственно). При True будет указано точное время активации.