A successful payment is not the same thing as an active product entitlement.

That distinction explains a common class of subscription incidents: the bank shows a charge, the store shows a subscription, yet ChatGPT, Grok, Claude, or Gemini still shows Free, Upgrade, or an inactive plan.

The failure is easier to diagnose when we stop treating “payment succeeded” as a single boolean and model the purchase as a state machine.

The subscription state machine

authorized