Skip to Content Skip to Menu

Subscription upgrades questions

8 years 9 months ago - 8 years 9 months ago #275859 by PresidenteMensaMexico
Subscription upgrades questions was created by PresidenteMensaMexico
Hello
My plan setting is simple.
Every subscription offers exactly the same access except I give users the option to pay for 1, 3 or 5 years giving them a discount the more years in advance they pay.
Since all subscriptions have the same priviledges users should be able to buy the same subscription or another one depending if at the time of their renewal they want to pay 1, 3 or 5 years.

The system considers buying the same subscription a renewal and buying a different subscription an upgrade.

In my ideal scenario when someone pays for a 3 year subscription while he still has a month or two on a 1 year subscription he would still get his 2 months left plus the new 3 year subscription.

When someone tries to upgrade their subscription (which in this case is not really an upgrade but just paying ahead of time) I need them to be able to buy a plan either more expensive or cheaper so the "yes if it's more expensive" condition in the plan upgrades workflow doesn't work for me but then again when I try the other option "for free with pro-rating" always suggests cancelling one subscription, adding whatever money respective to the time left in that subscription to change to the other one with a discount based on what he already payed for.

I had my subscription plans set as exclusive and thought maybe the problem was that but then I can't figure out how to make a subscription start at the end of the subscription a user already has, allowing several subscriptions only complicates things more.

So, is there a way for a user to change subscriptions and have the new subscription kick in when the old one finishes?

What would be the best way to give users the option to pay more years in advance? Should I just stick with one 1 year plans and somehow offer packages of 3 and 5 iterations of those plans with a discount. I don't know how to do that. I suspect that if one can buy a plan years before it expires they can accumulate several iterations of their subscription plan somehow or not?

Another question regarding upgrades. I've been trying to set a condition for an upgrade. I setup a plan that should only be able to be purchased by an underage. I'm trying to setup a condition that for people to be able to upgrade to this plan you need to be under 18 years old. I havn't figured out how to add 18 years to a cb field in "constant value or string" field of the condition but the problem so far is that no matter what conditions I use, the plan is always available.

I tried even absurd conditions where I set the same variable and then require that field A and B are different yet the plan is still an option to users. I've attached a screenshot of my configuration. Maybe I missunderstood the "existing subscriptions" part? I tried selecting none same problem, then I tried selecting all and subselecting the "not relevant" part, same problem.
Attachments:
Last edit: 8 years 9 months ago by PresidenteMensaMexico.

Please Log in or Create an account to join the conversation.

8 years 9 months ago #276147 by PresidenteMensaMexico
Replied by PresidenteMensaMexico on topic Subscription upgrades questions
¿Any ideas?

Please Log in or Create an account to join the conversation.

8 years 9 months ago #276316 by PresidenteMensaMexico
Replied by PresidenteMensaMexico on topic Subscription upgrades questions
Ok so, I'm guessing there is no easy way to do this because of the way CB subscriptions are thought of. I'm guessing the problem here is that CB considers the 3 plans as something completely different. Before I had asked if it was more logical to just have a single plan and have 3 different expirations depending on how much a user pays but that too was said not to be the way CB subs had been thought of.

Now I think the best way to solve this would be to setup a single plan with a standard price and 2 promotions. One standard price for 5 years, 1 promotion/discount for when a user wants to pay only for 3 years and another one for when a user wants to pay for 1 year. I can setup an SQL integration to set the expiration date of the plan for the specific user depending on the amount they paid at checkout (to identify the promotion they chose) if I can use a promotion or amount paid variable.

I found substitutions to use in the invoices that include transaction id, amount paid and the like. The big question is, can I use those in the SQL integration part of a plan? I'm guessing I need both a transaction id and a payment amount variable for this to work.

I can always just save the last payment of a user to a cb_field and then grab that field to the integration SQL as a last resort but I'm thinking the invoice part from where I found these substitutions execute after the SQL actions integration in a plan, don't they?

I'm thinking query itself would be a mathematical equation that would equal 1 for a range of numbers, 3 for another range and 5 for another range. Not even sure if I can do this in SQL, I'll look for that.

What would you recommend? Is this viable?
I would end up only with a single plan to handle 3 types of expirations.

Please Log in or Create an account to join the conversation.

  • krileon
  • krileon
  • ONLINE
  • Posts: 48424
  • Thanks: 8274
  • Karma: 1443
8 years 7 months ago - 8 years 7 months ago #278345 by krileon
Replied by krileon on topic Subscription upgrades questions
Create your first plan that has all the access protection you need. Copy it twice. Now adjust the price and duration of the copies. Next ensure all 3 are set to exclusive and allow prorating (prorating can be enabled under the Pricing tab). It should function exactly how you're wanting. When they upgrade from 1 year to 3 years and still have time left it will prorate that amount towards the 3 year plan purchase for example.


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Localization - CB Quickstart - CB Paid Subscriptions - Add-Ons - Forge
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM CST to 4:00 PM CST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.
Last edit: 8 years 7 months ago by krileon.

Please Log in or Create an account to join the conversation.

8 years 7 months ago #278573 by PresidenteMensaMexico
Replied by PresidenteMensaMexico on topic Subscription upgrades questions
Thank you. Although I was looking for a solution where years would be added to the plans. So for instance if you have a 1 year plan, you could purchase a 3 year plan and those 3 years start at the end of your current plan you could then have a subscription that would last 3 years and 6 months. I guess the important functionality here is that plans are not prorated between each other, the idea is that you have only one type of subscription and then you add time to that subscription, obviously we want people to pay up front for as many years as possible. I think I already solved this but it required SQL actions, I'll post my solution as soon as I fine tune it.

Thanks again

Please Log in or Create an account to join the conversation.

Moderators: beatnantkrileon
Powered by Kunena Forum