Apologies for the long turnaround on this question …
changed event always follow
pending_change if the purchase/upgrade was successful?
It should, but that’s not to say it always happens. If the change doesn’t get put into place, something went wrong on our end and the user would continue to receive whatever benefits were a part of the old plan.
Or do we need to handle
pending_change the same way we handle
changed (i.e. acknowledge the purchase/upgrade on our end)?
What you choose to do with the information a user has scheduled a change is up to you, but to indicate an upgrade has taken place might lead to confusion — the benefits of the new plan would not be made available until the change has been implemented and the
changed event recorded.
pending_change event is there to give you extra information or context if you need it, but
changed is when things really go into effect.
I hope that helps!