Делать перерасчет срока подписки в баллах при смене подписки или опций, а не создавать новую подписку
В данный момент ситуация такая, к примеру:
Есть подписка Плюс Мульти годовая, и она будет действовать ещё 200 дней. Но вот, решили подписаться на Плюс Мульти с Амедиатекой на месяц. Сейчас при оформлении 2-ой подписки, она сразу оплачивается, но первая подписка (годовая) просто откладывается до тех пор, пока не будет отменена вторая. А если есть желание использовать вторую подписку с Амедиатекой постоянно, то 200 дней, оплаченные в первой подписке просто откладываются на очень неопределенный срок.
Предлагаю такой вариант с использованием плюс-баллов,
При смене подписки или отдельных опций на счет возвращаются баллы (ВБ) по схеме:
П = (период_подписки_в днях)
С = (стоимость_подписки_с_опциями за период П)
О = (кол-во_дней_оставшихся_до_конца_оплаченного_периода П)
Пм = (минимальный_период_подписки = (месяц = кол-во_дней_в_текущем_месяце))
См = (стоимость_подписки_с_опциями_за_минимально_возможный_период Пм)
Ом = ((кол-во_дней_оставшихся_до_конца_минимального_периода Пм (в рамках месячной цикличности со дня начала подписки))
ВБ = (кол-во_возврата_плюс_баллов_за_неиспользованный_срок_подписки)
если (подписка_период_или_опции_изменяются) то { ВБ = (О*C/П) }
если (подписка_отменяется_совсем) то { ВБ = (О*C/П) - (Ом*См/Пм) }
При смене подписки на счет возвращаются плюс-баллы, которые тут же можно использовать на оплату новой подписки или с новым выбором опций, а неистраченные баллы так и останутся на счете и их можно будет потратить на последующие периоды подписки или в других сервисах Яндекса.
Чтобы избежать злоупотреблений когда подписка_отменяется_совсем, при смене или полной отмене подписки оставлять оплаченным дни минимально возможного оплаченного периода Ом и не возвращать за него баллы ( -(Ом*См/Пм) ). Думаю, это будет честно, и выгодно как пользователям Плюса, так и самому Яндексу.