Monthly Commitment. Особенности формирования списаний
В этой статье рассматривается формирование списаний для подписок только по модели Предоплата. Особенности формирования и изменения списаний для подписок по модели Постоплата см. в Особенности списаний для модели Постоплата. См. также Особенности списаний с учетом курсов валют.
Тип биллинга Monthly Commitment применяется для подписок с фиксированными ежемесячными платежами и обязательством использовать заказанное количество ресурсов в течение всего периода подписки. Как следствие, возврат средств клиенту и часть операций над подпиской недоступны в течение практически всего периода подписки, хотя в остальном тип биллинга похож на Monthly Prolongation (см. Monthly Prolongation. Особенности формирования списаний).
В этой статье:
Общие правила
- Списания всегда генерируется только на текущий (новый) финансовый период.
- Все списания генерируется в статусе Новое. После оплаты заказа списания переходят в статус Заблокировано.
- Генерируются только списания типа Абонентская плата для ресурсов.
- Списания по подписке генерируются одинаково вне зависимости от периода подписки.
- Возврат средств клиенту не предусмотрен, кроме переключения тарифного плана и удаления подписки в течение ограниченного времени после покупки.
Списания типа Плата за установку, Плата за продление
Списания типа Плата за установку, Плата за продление и Плата за перенос не формируются, так как такие виды платежей не должны устанавливаться.
Заказ подписки
Рассмотрим пример заказа подписки с типом биллинга Monthly Commitment. Примем, что финансовый день установлен 1-го числа каждого месяца. Подписка заказана 20 августа.
После заказа подписки происходит следующее:
- Платформа создает следующие сущности:
- Заказ на покупку в статусе Ожидает оплаты.
- Привязанный к заказу платеж в статусе Ожидает оплаты на сумму, достаточную для работы подписки со дня заказа до следующего финансового дня.
Одно списание для заказываемой подписки со дня ее заказа до ближайшего финансового дня в статусе Новое.
- Клиент оплачивает платеж в день его создания.
- Платформа обрабатывает заказ и переводит соответствующее списание из статуса Новое в статус Заблокировано.
- Платформа устанавливает параметр Оплачена до равным следующему финансовому дню.
При заказе пробной подписки платформа устанавливает параметр Оплачена до равным дате истечения подписки и не создает списаний.
Автоматическая пролонгация подписки
Для продления подписки на следующий финансовый период используется пролонгация (см. Пролонгация подписки):
- Заказ на пролонгацию создается автоматически до наступления даты Оплачена до (
paid_to
) за количество дней, указанное в параметре Точка автоматического продления (в днях) подписки. - Вместе с заказом формируются платеж и одно списание за следующий финансовый период с параметрами:
- Статус: Новое.
operate_from
= начало следующего финансового периода.operate_to
= конец следующего финансового периода или дата истечения подписки, если дата истечения приходится на следующий финансовый период.
Если на момент формирования списания у тарифного плана установлена опция Фиксированная цена, то для создания списания на следующий месяц стоимость ресурсов берется из подписки.
Если на момент формирования списания у тарифного плана не установлена опция Фиксированная цена, то для создания списания на следующий месяц, стоимость ресурсов берется из тарифного плана и обновляются стоимости ресурсов подписки.
- При завершении платежа списание за следующий финансовый период переходит в статус Заблокировано. Для подписки устанавливается параметр Оплачена до равным следующему финансовому дню.
- В финансовый день платформа переводит списание за предыдущий финансовый период из статуса Заблокировано в статус Закрыто.
Автоматическая пролонгация истекающей подписки
При автоматической пролонгации подписки, дата истечения которой приходится на следующий финансовый период, формируется последний заказ на пролонгацию:
- Вместе с заказом формируются платеж и одно списание с параметрами:
- Статус: Новое.
operate_from
= начало следующего финансового периода.operate_to
= дата истечения подписки.
- При завершении платежа параметр Оплачена до устанавливается равным дате истечения подписки.
При автоматической пролонгации подписки, дата истечения которой приходится на финансовый период, идущий после следующего финансового периода:
- Если от текущей даты Оплачена до до даты истечения подписки остается больше 1 месяца и 8 дней, формируются очередные заказ, платеж и одно списание по общей логике.
Если от текущей даты Оплачена до до даты истечения подписки остается 1 месяц 8 дней или меньше, формируется последний заказ на пролонгацию:
- Вместе с заказом формируются платеж и два списания:
- Списание 1 за следующий финансовый период с параметрами:
- Статус: Новое.
operate_from
= начало следующего финансового периода.operate_to
= конец следующего финансового периода.
- Списание 2 за период, идущий после следующего финансового периода и включающий дату истечения подписки:
- Статус: Новое.
operate_from
= начало финансового периода, включающего дату истечения подписки.operate_to
= дата истечения подписки - 1.close_date
= дата истечения подписки.
- Списание 1 за следующий финансовый период с параметрами:
Созданные списания отображаются в описании заказа и платежа в виде одной строки за общий оплачиваемый период.
Объединение двух списаний в последнем заказе на пролонгацию для подписок с датой истечения, близкой к финансовому дню, позволяет избежать их нежелательной остановки. Без такого объединения последний заказ на пролонгацию создавался бы очень близко к дате истечения подписки. А так как подписку можно продлить только после ее пролонгации, клиенту могло бы не хватить оставшихся дней, чтобы оплатить продление.
- Дата истечения заказа устанавливается равной дате истечения подписки.
- При завершении платежа списания переходят в статус Заблокировано. Параметр Оплачена до устанавливается равным дате истечения подписки.
- Вместе с заказом формируются платеж и два списания:
Ручная пролонгация подписки
При пролонгации вручную уменьшение количества ресурсов недоступно (см. Пролонгация подписки).
При пролонгации вручную:
- Создается заказ на пролонгацию и платеж в статусе Ожидает оплаты.
- Создается одно списание в статусе Новое.
- Период, для которого создается списание задается следующим образом:
- Если заказ создан до наступления даты Оплачена до, то задается период с даты начала следующего финансового периода до даты его конца или до даты истечения подписки (в зависимости от того, что наступает раньше).
- Если заказ создан в дату Оплачена до или позже, то задается период с даты начала текущего финансового периода до даты его конца или до даты истечения подписки (в зависимости от того, что наступает раньше).
- Если количество ресурсов в заказе было увеличено:
Сумма списания рассчитывается с учетом увеличения количества ресурсов.
Если при этом заказ создан до наступления даты Оплачена до, то предоставление заказа откладывается (параметры заказа: Отложенный = Да, Дата предоставления = следующий финансовый день). Для заказа в статусе Ожидает предоставления списание остается в статусе Новое.
Для заказа с параметрами Отложенный = Нет, Дата предоставления = дата создания заказа размер списания не пересчитывается, если заказ оплачен не в дату создания.
После предоставления заказа на пролонгацию:
- Списание переходит в статус Заблокировано.
- Параметр Оплачена до устанавливается с учетом периода, заданного для списания.
- Если подписка была остановлена, она переходит в статус Активная.
Ручная пролонгация истекающей подписки
При ручной пролонгации подписки, дата истечения которой наступает раньше, чем конец периода, оплачиваемого по общей логике, формируется последний заказ на пролонгацию:
- Списания формируются на период до даты истечения подписки.
- При завершении платежа параметр Оплачена до устанавливается равным дате истечения подписки.
При ручной пролонгации подписки, дата истечения которой приходится на финансовый период, идущий после следующего финансового периода:
- Если от текущей даты Оплачена до до даты истечения подписки остается больше 1 месяца и 8 дней, формируются очередные заказ, платеж списания по общей логике.
Если от текущей даты Оплачена до до даты истечения подписки остается 1 месяц 8 дней или меньше, формируется последний заказ на пролонгацию:
- Вместе с заказом формируется дополнительное списание за период, идущий после следующего финансового периода и включающий дату истечения подписки:
- Статус: Новое.
operate_from
= начало финансового периода, включающего дату истечения подписки.operate_to
= дата истечения подписки - 1.close_date
= дата истечения подписки.
Созданные списания отображаются в описании заказа и платежа в виде одной строки за общий оплачиваемый период.
Объединение списаний в последнем заказе на пролонгацию для подписок с датой истечения, близкой к финансовому дню, позволяет избежать их нежелательной остановки. Без такого объединения последний заказ на пролонгацию создавался бы очень близко к дате истечения подписки. А так как подписку можно продлить только после ее пролонгации, клиенту могло бы не хватить оставшихся дней, чтобы оплатить продление.
- Дата истечения заказа устанавливается равной дате истечения подписки.
- При завершении платежа списания переходят в статус Заблокировано. Параметр Оплачена до устанавливается равным дате истечения подписки.
- Вместе с заказом формируется дополнительное списание за период, идущий после следующего финансового периода и включающий дату истечения подписки:
Продление подписки со срочным периодом
Для продления подписок используется операция отложенного продления с возможностью увеличить или уменьшить количество ресурсов (см. Отложенное продление подписки).
При заказе на продление подписки формируются списания типа Абонентская плата за продление ресурсов. Формирование и изменение атрибутов списаний этого типа похоже на формирование и изменение списаний типа Абонентская плата при покупке дополнительных ресурсов.
Автоматическое продление подписки происходит следующим образом:
- За определенное количество дней до даты истечения подписки, например, заказанной на 1 год, создается заказ на продление подписки с текущим количеством ресурсов.
- Создается одно списание в статусе Новое на период до ближайшего финансового дня.
- Если на балансе клиента достаточно средств, то в дату истечения подписка автоматически продлевается на следующий год:
- Списание переходит в статус Заблокировано.
- Дата истечения подписки устанавливается как текущая дата истечения подписки + 1 год.
- Параметр Оплачена до устанавливается равным следующему финансовому дню.
- Если на балансе клиента недостаточно средств, то подписка останавливается. Для активации подписки клиенту необходимо отплатить заказ на продление.
Если клиент оплачивает продление подписки после ее истечения:
- Период и новая дата истечения продленной подписки рассчитываются в зависимости от настройки Истекшая подписка продлевается в правиле предоставления (см. Создание правила предоставления).
- У созданного списания на период до ближайшего финансового дня дата начала периода изменяется на дату оплаты заказа, и пропорционально периоду изменяется сумма.
Продление подписки в дату, близкую к финансовому дню
Если период между датой истечения подписки (или датой создания заказа на продление — при продлении подписки вручную после ее истечения) и следующим финансовым днем составляет 10 дней или меньше:
- К заказу на продление создается дополнительное списание:
- Статус: Новое.
operate_from
= начало следующего финансового периода.operate_to
= конец следующего финансового периода.close_date
= финансовый день, который наступает после окончания следующего финансового периода.
- Созданные списания отображаются в описании заказа и платежа в виде одной строки за общий оплачиваемый период.
- Дата истечения заказа устанавливается с учетом конца оплачиваемого периода, но ограничивается настройкой Отмена неоплаченного заказа через (см. Создание правила обслуживания).
- При завершении платежа списания переходят в статус Заблокировано. Параметр Оплачена до устанавливается как финансовый день, который наступает после окончания следующего финансового периода.
Дополнительное списание за весь следующий финансовый период в заказе на продление позволяет избежать нежелательной остановки подписки. Без него первый заказ на пролонгацию создавался бы очень близко к дате следующего финансового дня, и клиенту могло бы не хватить оставшихся дней, чтобы оплатить пролонгацию.
Автоматическая остановка подписки из-за неоплаченного заказа на пролонгацию
По модели Постоплата вместо блокировки из-за просроченного платежа подписка продолжает работать, но переходит в статус Просрочена оплата, и для нее продолжают автоматически создаваться и завершаться заказы на пролонгацию до конца периода подписки. Создание заказов на пролонгацию вручную также доступно. Подписка возвращается в статус Активная после оплаты всех просроченных платежей.
Eсли заказ на пролонгацию не оплачен вручную и автоматически, то:
- При наступлении даты, заданной в параметре Оплачена до:
- Подписка автоматически останавливается.
- Списание за предыдущий финансовый период переходит из статуса Заблокировано в статус Закрыто.
- Списание за наступивший финансовый период остается в статусе Новое.
- На следующий финансовый день (дата истечения заказа на пролонгацию):
- Заказ на пролонгацию и связанный платеж отменяются.
- Списание в статусе Новое переводится в статус Закрыто.
- Параметр Оплачена до устанавливается равным наступившему финансовому дню.
- Подписка остается остановленной.
Грейс-период для пролонгации
Если для подписки задан грейс-период (см. Создание правила предоставления), то при наступлении даты Оплачена до неоплаченная подписка продолжает работать, но переходит в статус Просрочена оплата.
Если клиент оплатил заказ на пролонгацию в течение грейс-периода:
- Подписка возвращается в статус Активная.
- Новая дата Оплачена до устанавливается в соответствии с оплаченным периодом.
- Списание за наступивший финансовый период не пересчитывается и переходит из статуса Новое в статус Заблокировано.
Если по каким-либо причинам подписка была остановлена в течение грейс-периода:
- Подписка переходит в статус Остановлена.
- Списание за наступивший финансовый период не разделяется и остается в статусе Новое.
Если клиент не оплатил заказ на пролонгацию в течение грейс-периода:
- Подписка переходит в статус Остановлена.
- Списание за наступивший финансовый период не разделяется и остается в статусе Новое.
- При наступлении даты окончания заказа на пролонгацию:
- Списание переходит из статуса Новое в статус Закрыто.
- Новая дата Оплачена до устанавливается равной текущей дате.
Если клиент оплатил заказ на пролонгацию после истечения грейс-периода:
- Подписка возвращается в статус Активная.
- Новая дата Оплачена до устанавливается в соответствии с оплаченным периодом.
- Списание за наступивший финансовый период не пересчитывается и переходит из статуса Новое в статус Заблокировано.
Остановка оплаченной подписки
В Панели управления Клиента остановка подписки вручную недоступна.
Если в течение оплаченного финансового периода подписка была остановлена, платформа производит следующие действия по остановке:
- Переводит подписку в статус Остановлена.
- Списания в статусе Заблокировано остаются без изменений.
- На баланс клиента ничего не возвращается.
- Если подписка не была активирована до следующего финансового дня, то в финансовый день:
- Списания в статусе Заблокировано переводятся в статус Закрыто.
- На баланс клиента ничего не возвращается.
Ручная активация оплаченной подписки
При нажатии кнопки Активировать для остановленной вручную оплаченной подписки:
- Подписка активируется без проверки баланса клиента.
- Разделения списаний и возврата средств за период, когда подписка оставалась остановленной, не происходит.
Увеличение количества ресурсов
Если клиент увеличивает количество ресурсов для подписки:
- Платформа создает следующие сущности:
- Заказ на изменение ресурсов в статусе Ожидает оплаты.
- Привязанный к заказу платеж в статусе Ожидает оплаты на сумму, достаточную для работы докупаемых ресурсов подписки со дня заказа до даты Оплачена до.
- Списания в статусе Новое для заказываемых ресурсов подписки на период со дня заказа до даты Оплачена до.
- Клиент оплачивает платеж в день его создания.
- Платформа обрабатывает заказ и переводит соответствующие списания из статуса Новое в статус Заблокировано.
- Для следующего заказа на продление платформа создает одно списание на актуальное количество ресурсов.
Уменьшение количества ресурсов
Уменьшение количества ресурсов недоступно в течение всего периода подписки.
Заказ на переключение
Немедленное переключение тарифного плана (см. Переключение тарифного плана) выполняется по стандартной логике с разделением заблокированных списаний (см. Разделение списаний при смене тарифного плана подписки), а для списаний в статусе Закрыто формируются новые списания в статусе Закрыто на отрицательную сумму за неиспользованную часть периода.
Отложенное переключение тарифного плана доступно, когда дата Оплачена до совпадает с датой истечения подписки. Вместе с переключением тарифного плана происходит продление подписки. Используется заказ на переключение с признаками Отложенный = Да и Дата предоставления = дата истечения подписки (см. Отложенный заказ на переключение в Переключение тарифного плана):
- При создании заказа на переключение списания создаются в статусе Новое с даты истечения подписки на период до ближайшего финансового дня.
- Для заказа в статусе Ожидает предоставления:
- Списания остаются в статусе Новое.
- Сумма списаний блокируется на балансе клиента.
- После завершения заказа:
- Все созданные списания переходят в статус Заблокировано.
- Изменяется дата истечения подписки.
- Изменяется дата Оплачена до.
Удаление подписки
При удалении остановленной оплаченной подписки списание за текущий финансовый период пересчитывается с учетом периода до дня удаления и переводится из статуса Заблокировано в статус Закрыто.