Установка даты истечения для подписок с периодом N месяцев
Продление подписок с периодом N месяцeв имеет особенности из-за разного количества дней в месяцах.
Рассмотрим пример заказа и продления подписки с периодом подписки один месяц:
- 31.12.2016 создается новая подписка. Так как период действия подписки один месяц дата истечения подписки устанавливается как 31.01.2017. Подписка доступна для использования с 31.12.2016 по 31.01.2017 включительно. Фактический период действия подписки 31 день.
- При автоматическом или ручном продлении подписки происходит установка новой даты истечения подписки, исходя из предыдущей даты истечения подписки 31.01.2017. Так как в феврале отсутствует 31-ое число, происходит поиск числа в феврале, которое является ближайшим существующим к 31-ому числу. В данном случае 28-ое февраля. Период действия подписки устанавливается с 01.02.2017 по 28.02.2017 включительно. Фактический период действия подписки 28 дней.
- При следующем автоматическом или ручном продлении подписки происходит установка новой даты истечения подписки. Так как предыдущая дата истечения подписки 28.02.2017, следующая дата истечения подписки устанавливается как 28.03.2017. Период действия подписки с 01.03.2017 по 28.03.2017 включительно. Фактический период действия подписки 28 дней.