Monthly Commitment. Особенности формирования списаний

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

Тип биллинга Monthly Commitment применяется для подписок с фиксированными ежемесячными платежами и обязательством использовать заказанное количество ресурсов в течение всего периода подписки. Как следствие, возврат средств клиенту и часть операций над подпиской недоступны в течение практически всего периода подписки, хотя в остальном тип биллинга похож на CSP месячный (см. CSP месячный. Особенности формирования списаний).

В этой статье:

Общие правила

  • Списания всегда генерируется только на текущий (новый) финансовый период.
  • Все списания генерируется в статусе Новое. После оплаты заказа списания переходят в статус Заблокировано.
  • Генерируются только списания типа Абонентская плата для ресурсов.
  • Списания по подписке генерируются одинаково вне зависимости от периода подписки.
  • Возврат средств клиенту не предусмотрен, кроме переключения тарифного плана и удаления подписки в течение ограниченного времени после покупки.

Списания типа Плата за установку, Плата за продление

Списания типа Плата за установкуПлата за продление и Плата за перенос не формируются, так как такие виды платежей не должны устанавливаться.

Заказ подписки

Рассмотрим пример заказа подписки с типом биллинга Monthly Commitment. Примем, что финансовый день установлен 1-го числа каждого месяца. Подписка заказана 20 августа.

После заказа подписки происходит следующее:

  1. Платформа создает следующие сущности:
    1.  Заказ на покупку в статусе Ожидает оплаты.
    2. Привязанный к заказу платеж в статусе Ожидает оплаты на сумму, достаточную для работы подписки со дня заказа до следующего финансового дня.
    3. Одно списание для заказываемой подписки со дня ее заказа до ближайшего финансового дня в статусе Новое.

  2. Клиент оплачивает платеж в день его создания.
  3. Платформа обрабатывает заказ и переводит соответствующее списание из статуса Новое в статус Заблокировано.
  4. Платформа устанавливает параметр Оплачена до равным следующему финансовому дню.



При заказе пробной подписки платформа устанавливает параметр Оплачена до равным дате истечения подписки и не создает списаний.

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

Для продления подписки на следующий финансовый период используется пролонгация (см. Пролонгация подписки):

  1. Заказ на пролонгацию создается автоматически до наступления даты Оплачена до (paid_to) за количество дней, указанное в параметре Точка автоматического продления (в днях) подписки.
  2. Вместе с заказом формируются платеж и одно списание за следующий финансовый период с параметрами:
    • Статус: Новое.
    • operate_from = начало следующего финансового периода.
    • operate_to = конец следующего финансового периода или дата истечения подписки, если дата истечения приходится на следующий финансовый период.

    Если на момент формирования списания у тарифного плана установлена опция Фиксированная цена, то для создания списания на следующий месяц стоимость ресурсов берется из подписки.

    Если на момент формирования списания у тарифного плана не установлена опция Фиксированная цена, то для создания списания на следующий месяц, стоимость ресурсов берется из тарифного плана и обновляются стоимости ресурсов подписки.

  3. При завершении платежа списание за следующий финансовый период переходит в статус Заблокировано. Для подписки устанавливается параметр Оплачена до равным следующему финансовому дню.
  4. В финансовый день платформа переводит списание за предыдущий финансовый период из статуса Заблокировано в статус Закрыто.


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

При автоматической пролонгации подписки, дата истечения которой приходится на следующий финансовый период, формируется последний заказ на пролонгацию:

  1. Вместе с заказом формируются платеж и одно списание с параметрами:
    • Статус: Новое.
    • operate_from = начало следующего финансового периода.
    • operate_to = дата истечения подписки.
  2. При завершении платежа параметр Оплачена до устанавливается равным дате истечения подписки.

При автоматической пролонгации подписки, дата истечения которой приходится на финансовый период, идущий после следующего финансового периода:

  • Если от текущей даты Оплачена до до даты истечения подписки остается больше 1 месяца и 8 дней, формируются очередные заказ, платеж и одно списание по общей логике.
  • Если от текущей даты Оплачена до до даты истечения подписки остается 1 месяц 8 дней или меньше, формируется последний заказ на пролонгацию:

    1. Вместе с заказом формируются платеж и два списания:
      1. Списание 1 за следующий финансовый период с параметрами:
        • Статус: Новое.
        • operate_from = начало следующего финансового периода.
        • operate_to = конец следующего финансового периода.
      2.  Списание 2 за период, идущий после следующего финансового периода и включающий дату истечения подписки:
        • Статус: Новое.
        • operate_from = начало финансового периода, включающего дату истечения подписки.
        • operate_to = дата истечения подписки - 1.
        • close_date = дата истечения подписки.
    2. Созданные списания отображаются в описании заказа и платежа в виде одной строки за общий оплачиваемый период.

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

    3. Дата истечения заказа устанавливается равной дате истечения подписки.
    4. При завершении платежа списания переходят в статус Заблокировано. Параметр Оплачена до устанавливается равным дате истечения подписки.

Ручная пролонгация подписки

При пролонгации вручную уменьшение количества ресурсов недоступно (см. Пролонгация подписки).

При пролонгации вручную:

  1. Создается заказ на пролонгацию и платеж в статусе Ожидает оплаты.
  2. Создается одно списание в статусе Новое.
  3. Период, для которого создается списание задается следующим образом:
    • Если заказ создан до наступления даты Оплачена до, то задается период с даты начала следующего финансового периода до даты его конца или до даты истечения подписки (в зависимости от того, что наступает раньше).
    • Если заказ создан в дату Оплачена до или позже, то задается период с даты начала текущего финансового периода до даты его конца или до даты истечения подписки (в зависимости от того, что наступает раньше).
  4. Если количество ресурсов в заказе было увеличено:
    1. Сумма списания рассчитывается с учетом увеличения количества ресурсов.

    2. Если при этом заказ создан до наступления даты Оплачена до, то предоставление заказа откладывается (параметры заказа: Отложенный = ДаДата предоставления = следующий финансовый день). Для заказа в статусе Ожидает предоставления списание остается в статусе Новое.

  5. Для заказа с параметрами Отложенный = НетДата предоставления = дата создания заказа размер списания не пересчитывается, если заказ оплачен не в дату создания.

  6. После предоставления заказа на пролонгацию:

    1. Списание переходит в статус Заблокировано.
    2. Параметр Оплачена до устанавливается с учетом периода, заданного для списания.
    3. Если подписка была остановлена, она переходит в статус Активная.

Ручная пролонгация истекающей подписки

При ручной пролонгации подписки, дата истечения которой наступает раньше, чем конец периода, оплачиваемого по общей логике, формируется последний заказ на пролонгацию:

  1. Списания формируются на период до даты истечения подписки.
  2. При завершении платежа параметр Оплачена до устанавливается равным дате истечения подписки.

При ручной пролонгации подписки, дата истечения которой приходится на финансовый период, идущий после следующего финансового периода:

  • Если от текущей даты Оплачена до до даты истечения подписки остается больше 1 месяца и 8 дней, формируются очередные заказ, платеж списания по общей логике.
  • Если от текущей даты Оплачена до до даты истечения подписки остается 1 месяц 8 дней или меньше, формируется последний заказ на пролонгацию:

    1. Вместе с заказом формируется дополнительное списание за период, идущий после следующего финансового периода и включающий дату истечения подписки:
      • Статус: Новое.
      • operate_from = начало финансового периода, включающего дату истечения подписки.
      • operate_to = дата истечения подписки - 1.
      • close_date = дата истечения подписки.
    2. Созданные списания отображаются в описании заказа и платежа в виде одной строки за общий оплачиваемый период.

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

    3. Дата истечения заказа устанавливается равной дате истечения подписки.
    4. При завершении платежа списания переходят в статус Заблокировано. Параметр Оплачена до устанавливается равным дате истечения подписки.

Продление подписки со срочным периодом

Для продления подписок используется операция отложенного продления с возможностью увеличить или уменьшить количество ресурсов (см. Отложенное продление подписки).

При заказе на продление подписки формируются списания типа Абонентская плата за продление ресурсов. Формирование и изменение атрибутов списаний этого типа похоже на формирование и изменение списаний типа Абонентская плата при покупке дополнительных ресурсов.

Если продлевается подписка со статусом Остановлена или Просрочена оплата, то такая подписка автоматически активируется после оплаты заказа и погашения задолженности.

Автоматическое продление подписки происходит следующим образом:

  1. За определенное количество дней до даты истечения подписки, например, заказанной на 1 год, создается заказ на продление подписки с текущим количеством ресурсов.
  2. Создается одно списание в статусе Новое на период до ближайшего финансового дня.
  3. Если на балансе клиента достаточно средств, то в дату истечения подписка автоматически продлевается на следующий год:
    1. Списание переходит в статус Заблокировано.
    2. Дата истечения подписки устанавливается как текущая дата истечения подписки + 1 год.
    3. Параметр Оплачена до устанавливается равным следующему финансовому дню.



  4. Если на балансе клиента недостаточно средств, то подписка останавливается. Для активации подписки клиенту необходимо отплатить заказ на продление.
  5. Если клиент оплачивает продление подписки после ее истечения:

    1. Период и новая дата истечения продленной подписки рассчитываются в зависимости от настройки Истекшая подписка продлевается в правиле предоставления (см. Создание правила предоставления).
    2. У созданного списания на период до ближайшего финансового дня дата начала периода изменяется на дату оплаты заказа, и пропорционально периоду изменяется сумма.

Продление подписки в дату, близкую к финансовому дню

Если период между датой истечения подписки (или датой создания заказа на продление — при продлении подписки вручную после ее истечения) и следующим финансовым днем составляет 10 дней или меньше:

  1. К заказу на продление создается дополнительное списание:
    • Статус: Новое.
    • operate_from = начало следующего финансового периода.
    • operate_to = конец следующего финансового периода.
    • close_date = финансовый день, который наступает после окончания следующего финансового периода.
  2. Созданные списания отображаются в описании заказа и платежа в виде одной строки за общий оплачиваемый период.
  3. Дата истечения заказа устанавливается с учетом конца оплачиваемого периода, но ограничивается настройкой Отмена неоплаченного заказа через (см. Создание правила обслуживания).
  4. При завершении платежа списания переходят в статус Заблокировано. Параметр Оплачена до устанавливается как финансовый день, который наступает после окончания следующего финансового периода.

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

Автоматическая остановка подписки из-за неоплаченного заказа на пролонгацию

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

Eсли заказ на пролонгацию не оплачен вручную и автоматически, то:

  1. При наступлении даты, заданной в параметре Оплачена до:
    1. Подписка автоматически останавливается.
    2. Списание за предыдущий финансовый период переходит из статуса Заблокировано в статус Закрыто.
    3. Списание за наступивший финансовый период остается в статусе Новое.
  2. На следующий финансовый день (дата истечения заказа на пролонгацию):
    1. Заказ на пролонгацию и связанный платеж отменяются.
    2. Списание в статусе Новое переводится в статус Закрыто.
    3. Параметр Оплачена до устанавливается равным наступившему финансовому дню.
    4. Подписка остается остановленной.

Грейс-период для пролонгации

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

Если клиент оплатил заказ на пролонгацию в течение грейс-периода:

  1. Подписка возвращается в статус Активная.
  2. Новая дата Оплачена до устанавливается в соответствии с оплаченным периодом.
  3. Списание за наступивший финансовый период не пересчитывается и переходит из статуса Новое в статус Заблокировано.

Если по каким-либо причинам подписка была остановлена в течение грейс-периода:

  1. Подписка переходит в статус Остановлена.
  2. Списание за наступивший финансовый период не разделяется и остается в статусе Новое.

Если клиент не оплатил заказ на пролонгацию в течение грейс-периода:

  1. Подписка переходит в статус Остановлена.
  2. Списание за наступивший финансовый период не разделяется и остается в статусе Новое.
  3. При наступлении даты окончания заказа на пролонгацию:
    1. Списание переходит из статуса Новое в статус Закрыто.
    2. Новая дата Оплачена до устанавливается равной текущей дате.

Если клиент оплатил заказ на пролонгацию после истечения грейс-периода:

  1. Подписка возвращается в статус Активная.
  2. Новая дата Оплачена до устанавливается в соответствии с оплаченным периодом.
  3. Списание за наступивший финансовый период не пересчитывается и переходит из статуса Новое в статус Заблокировано.

Остановка оплаченной подписки

В Панели управления Клиента остановка подписки вручную недоступна.

Если в течение оплаченного финансового периода подписка была остановлена, платформа производит следующие действия по остановке:

  1. Переводит подписку в статус Остановлена.
  2. Списания в статусе Заблокировано остаются без изменений.
  3. На баланс клиента ничего не возвращается.
  4. Если подписка не была активирована до следующего финансового дня, то в финансовый день: 
    1. Списания в статусе Заблокировано переводятся в статус Закрыто
    2. На баланс клиента ничего не возвращается.

Ручная активация оплаченной подписки

При нажатии кнопки Активировать для остановленной вручную оплаченной подписки:

  1. Подписка активируется без проверки баланса клиента.
  2. Разделения списаний и возврата средств за период, когда подписка оставалась остановленной, не происходит.

Увеличение количества ресурсов

Если клиент увеличивает количество ресурсов для подписки:

  1. Платформа создает следующие сущности:
    1. Заказ на изменение ресурсов в статусе Ожидает оплаты.
    2. Привязанный к заказу платеж в статусе Ожидает оплаты на сумму, достаточную для работы докупаемых ресурсов подписки со дня заказа до даты Оплачена до.
    3. Списания в статусе Новое для заказываемых ресурсов подписки на период со дня заказа до даты Оплачена до.
  2. Клиент оплачивает платеж в день его создания.
  3. Платформа обрабатывает заказ и переводит соответствующие списания из статуса Новое в статус Заблокировано.
  4. Для следующего заказа на продление платформа создает одно списание на актуальное количество ресурсов.

Уменьшение количества ресурсов

Уменьшение количества ресурсов недоступно в течение всего периода подписки.

Заказ на переключение

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

Отложенное переключение тарифного плана доступно, когда дата Оплачена до совпадает с датой истечения подписки. Вместе с переключением тарифного плана происходит продление подписки. Используется заказ на переключение с признаками Отложенный = Да и Дата предоставления = дата истечения подписки (см. Отложенный заказ на переключение в Переключение тарифного плана):

  1. При создании заказа на переключение списания создаются в статусе Новое с даты истечения подписки на период до ближайшего финансового дня.
  2. Для заказа в статусе Ожидает предоставления:
    1. Списания остаются в статусе Новое.
    2. Сумма списаний блокируется на балансе клиента.
  3. После завершения заказа:
    1. Все созданные списания переходят в статус Заблокировано.
    2. Изменяется дата истечения подписки.
    3. Изменяется дата Оплачена до.

Удаление подписки

При удалении остановленной оплаченной подписки списание за текущий финансовый период пересчитывается с учетом периода до дня удаления и переводится из статуса Заблокировано в статус Закрыто.