stateDiagram-v2 [*] --> Trial Trial --> Active: Purchase Trial --> Expired: Trial ends Active --> PastDue: Renewal fails PastDue --> Active: Payment succeeds PastDue --> Cancelled: Grace period ends Active --> Cancelled: Cancellation takes effect Cancelled --> [*] Expired --> [*]