I want to share what I figured out, when I looked for a solution, why my trigger for expired plans (manually via backend) not fired and removes a user from a group.
I read a lot of threads and various descriptions and solutions, but no solution for my case.
My Env.:
CB 2.0.13, CB Subs 4.0.1, GJ 3.0.1
2 top level plans. One live time for free (default, without record creation), one upgrade subscription plan (not free).
One GJ group for upgraded subscriber
2 Auto Actions like this from Kyle:
Plan Active
Triggers: onCPayUserStateChange
User: Automatic
Access: Everybody
Conditional 1: [var3] Equal To PLAN_ID_HERE
Conditional 2: [var2] Equal To A
Plan Expired
Triggers: onCPayUserStateChange
User: Automatic
Access: Everybody
Conditional 1: [var3] Equal To PLAN_ID_HERE
Conditional 2: [var2] Equal To X
My Problem:
Automatic assignment to group by the first trigger worked fine also when I do a manually upgrade in backend. But removal didn't work when I canceled manually.
Solution:
I saw in backends logs that status before terminating the subscription was A and after was C (not X!). Also if I use the Delete methode. So I think additionally to the X we simply need a C. Then it should work in front- and backend, respectively when expired by time.
My Expired Trigger now locks like that:
Plan Expired
Triggers: onCPayUserStateChange
User: Automatic
Access: Everybody
Conditional 1: [var3] Equal To PLAN_ID_HERE
Conditional 2: [var2] Is REGEX {[XC]}
@Kyle, this solutions seems to work for me. Could you confirm this way?
Did I use the right syntax with the curved brackets "{" or does that work for me by blind chance?
Thanks,
Michael