Google Play Billing
Appendix E: Subscription State Diagram (Pull Out Reference)
This appendix provides the complete subscription state machine as a quick reference card. Print it, pin it to your wall, or keep it open in a tab while building your billing integration.
States at a Glance
*CANCELED grants access only until expiryTime.

All State Transitions
From PENDING
From ACTIVE
From IN_GRACE_PERIOD
From ON_HOLD
From PAUSED
From CANCELED
From EXPIRED
Access Decision Flowchart
Use this logic to determine whether to grant access:
kotlin
Access Decision Code
kotlin
Token Lifecycle
RTDN Quick Reference by Number
Time Windows Reference
Checklist: Do I Handle Every State?
- PENDING: Withhold access, show "pending" message
- ACTIVE: Grant full access
- IN_GRACE_PERIOD: Grant access + show payment warning + use In App Messaging
- ON_HOLD: Revoke access + show "fix payment" message
- PAUSED: Revoke access + show "paused" message with resume date
- CANCELED: Grant access until expiry + show expiry countdown
- EXPIRED: Revoke access + show resubscribe option