[#8584] CBSubs pay offline option triggers plan as activated - Integrations->CB

2 years 9 months ago - 2 years 9 months ago #325302 by boyjahq
When a user renews their subscription plan and they choose to pay by offline payment method, CBSubs seems to mark the plan as activated, even though the payment has not yet been completed. This triggers all of the CB Fields under the Integrations tab "CB fields changing on plan activation and deactivation".

The issue we are experiencing is that we have fields in this tab such as "cb_memberyearsdiscount", where upon activation it adds +1 to this number. This in turn is a condition that we use for showing various promotions for the plan, based on the number of consecutive years as a member total in "cb_memberyearsdiscount". We have it set to return the value to 1 upon deactivation (plan expiration), but if they continue to renew prior to expiration then the number is increased by +1 with every renewal.

However, because this field is triggered upon selecting an offline payment method that has not been completed, when the user goes back to their profile they now see the option to renew with the next promotion price based on the increased number in our field "cb_memberyearsdiscount". This is made worse when we process the offline payment basket. This field is once again triggered as "changing on plan activation" which then adds another +1 to the total in "cb_memberyearsdiscount". Basically the Integrations -> CB Fields are being triggered twice when a user chooses offline payment: once when they select that option in their basket and again when the basket is processed as paid...

Is there some way to set it so that these fields are not triggered as "activated" until an offline payment method is completed?

Or, is there some other condition that you can recommend we use for our promotions that would avoid this issue?

In addition to the "cb_memberyearsdiscount" we also have a field "cb_activemember" which is basically 0 for not active and 1 for active. We use this in many places, for example to determine if a user is included in various lists or not. So if this has been set to 0 due to plan expiration/deactivation, it is then set to 1 if they reactivate their subscription even if they choose offline payment method. Therefore they are once again visible in various lists even though they lack an "active" subscription (because their offline payment has not yet been completed).

Please Log in to join the conversation.

2 years 9 months ago #325308 by krileon
Offline payments do not activate subscriptions immediately unless you've configured it to do that. By default their basket is put into a pending state until the basket is processed in backend. Edit your offline payment gateway and set "Payment selection leads to following order state" back to default value of "Pending (Recommended) with completion in CBSubs admin area Payment Baskets".


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.

2 years 9 months ago #325318 by boyjahq

Edit your offline payment gateway and set "Payment selection leads to following order state" back to default value of "Pending (Recommended) with completion in CBSubs admin area Payment Baskets".


That is how it has always been set. We never changed it from default. Still it triggers activation twice: once on selection by user and again when the payment is processed as paid.

Please Log in to join the conversation.

2 years 9 months ago - 2 years 9 months ago #325320 by krileon
Is this only happening with the CBSubs Fields integration? Are any other integrations triggering? Sounds like it might just be a bug in CBSubs Fields itself when checking subscription status as it should not be triggering while offline payments are pending.


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.

2 years 9 months ago #325322 by boyjahq
As far as I can tell it is only with CBSubs Fields integration. There are no other integrations triggering that I am aware of: no auto actions or SQL actions. What we see is that, when they click the renew button and then choose Pay Offline, the CB Field is triggered. Then again, when the payment basket is processed, it is triggered again.

Here is the CB Field setting for this field:

Attachments:

Please Log in to join the conversation.

2 years 9 months ago #325323 by krileon
You're setting the field value to 1 whether the plan is active or not. That's why it's doing that. Pending states qualify for "Value on plan deactivation". You should be using the following if you only want to set the fields value on plan activation.

Value: 1
Remove value on plan deactivation: No

If you want the value reversed on plan deactivation then use the following.

Value: 1
Remove value on plan deactivation: Yes
Value on plan deactivation: 0


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.314 seconds

Facebook Twitter LinkedIn