Proper way to implement CB Subs with upgrade options

7 years 2 months ago #291397 by cpaschen
Thanks. I hadn't used that feature before. That solves the "1" and "2" issues.
But I'm still not completely sure about the others.

A - Plan 1
B - Plan 2
C - Plan 1 & 2 combination of both plans at a discount
D - Plan 3

Here's my (hopefully final) dilemma:

Options that need to be possible:

* A, B
* A,D
* A, B, D
* NOT A & C
* B, D
* NOT B & C
* C, D
* D

Basically, I just need to make it so that
1. They can't subscribe to A & C at the same time, or B & C at the same time
2. If they have A and want to purchase C that it 'upgrades' them (add C, remove A, apply balance of A toward C)
3. If they have B and want to purchase C that it 'upgrades' them (add C, remove B, apply balance of B toward C)
4. If they have A and B and want to purchase C that it 'upgrades' them (add C, remove A and B, apply balance of A and B toward C)
5. If they have C they can not purchase A (unless there is a way to 'downgrade' from C to A, and apply balance of C to A)
6. If they have C they can not purchase B (unless there is a way to 'downgrade' from C to B, and apply balance of C to B)
7. D has no effect on A, B, or C at all (it is completely 'independent' of any A,B,C subscriptions).

Is this possible? I know that I can control access via workflow; however, how can I make the 'upgrades' (applying remaining balances, cancelling previous subscription) work (2,3,4 - and ideally 5, 6)?

Or, possibly more generically, what exactly 'allows' one subscription to be 'upgradeable' to another. Is it setting up as a sub-plan? Or is there some other means?

Please Log in to join the conversation.

7 years 2 months ago #291418 by krileon
Best way to handle your conditions is to add conditions to your plans under the Workflows tab. You'll be able to set it so Plan C can't be selected at the same time as Plan A, etc.. using those conditions. I can't think of any other way to do it aside from those conditions.


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.

Please Log in to join the conversation.

6 years 11 months ago #293926 by cpaschen
OK ... finally trying to implement this ... I've reviewed the videos and read the manual and still not exactly sure how to set the workflows settings to make a specific plan/workflow behave as needed.

Based on these plans:

A - Plan 1 -$200
B - Plan 2 - $200
C - Plan 1 & 2 combination of both plans at a discount - $300
D - Plan 3 - $100

How should I configure the workflow for Plan A so that:

* It can be purchased at registration
* It can be purchased any time later (basically, it has no rules regarding when it can be purchased)
* It can be renewed (when it expires)
* It can NOT be purchased if existing subscription to C (which I already know how to handle with the conditions)
HOWEVER
* It should not actually allow 'upgrading' (i.e. change subscription) from D to A. (THIS is what I'm not sure how to ensure)
If they already have D and purchase A that is fine, but if they do, they should continue to have plan D as well as plan A.

I think if you can explain that I'll have a better understanding how to make all the other conditions work.

Please Log in to join the conversation.

6 years 11 months ago #293938 by krileon

* It should not actually allow 'upgrading' (i.e. change subscription) from D to A. (THIS is what I'm not sure how to ensure)
If they already have D and purchase A that is fine, but if they do, they should continue to have plan D as well as plan A.

You can condition upgrades as well. The below should work to ensure Plan A is not accessible if they're subscribed to Plan D.

First static condition: This condition must be NOT be met to allow upgrades:
Any of the following plans subscriptions: Plan D
Must be in state: Active


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.

Please Log in to join the conversation.

6 years 11 months ago #293949 by cpaschen
OK ... I'm still stumped and not able to get this to work as needed.

I think it comes down to me understanding one thing that I didn't see an answer to before ...

what exactly 'allows' one subscription to be 'upgradeable' to another. Is it setting up as a sub-plan? Or is there some other means?

Also ... is there a way to control workflow differently for the first time a user purchases a subscription vs subsequent upgrades (IF they don't purchase any subscriptions when they register)?

Please Log in to join the conversation.

6 years 11 months ago #293950 by krileon
An upgrade is basically a registered user subscribing to a plan. Registered users are always considered upgrading. Whether it's from the internal free plan or an actual plan you've created. The condition above should work as they shouldn't see Plan A if they're actively subscribed to Plan D. That condition would be placed on Plan A. If Plan D subscription doesn't exist, is expired, or cancelled for example they should be able to subscribe to Plan A.

Also ... is there a way to control workflow differently for the first time a user purchases a subscription vs subsequent upgrades (IF they don't purchase any subscriptions when they register)?

Other than the upgrade conditions no.


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.

Please Log in to join the conversation.

Moderators: beatnantkrileon
Time to create page: 0.191 seconds

Facebook Twitter LinkedIn