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).