Subscription States Explained
The subscription details tracked are based on the App Store Server Subscription Status API (opens in a new tab). Subscriptions can have various states that reflect whether the user has access to the paid service.
The details of an individual user's subscription are retrieved using a call to the Get All Subscription Statuses (opens in a new tab) App Store Server endpoint.
Auto-Renew Status
A subscription can be set to auto-renew, meaning it will automatically renew at the end of each billing cycle unless canceled. This setting can have one of two values:
- Auto-Renew Enabled: The subscription will automatically renew.
- Auto-Renew Disabled: The subscription will not renew automatically.
Subscription Access States
There are two main states for subscriptions:
- User has access to the paid service.
- User does not have access to the paid service.
When the User Has Access to the Paid Service
-
Subscribed: The user has an active subscription with successful payments, granting full access to the service.
-
Billing Grace Period: The user's renewal payment has failed due to an issue like an expired credit card. During the grace period (set by the developer in App Store Connect), the user retains access to the service while resolving the payment issue. If payment is not resolved by the end of the grace period, the subscription will move to Billing Retry or Expired.
When the User Doesn't Have Access to the Paid Service
-
Expired: The subscription has ended, either because the user didn't renew or due to failed payments during the retry period.
-
Revoked: Access to the subscription has been revoked by the App Store, typically due to the user requesting a refund.
-
Billing Retry: If the user's payment fails during the Billing Grace Period, Apple will continue attempting to charge the user's payment method for up to 60 days. During this time, the user does not have access to the service. If payment is successful, the subscription will resume. If not, it will ultimately move to Expired.
Summary of Subscription Statuses
- Subscribed: Active subscription with access.
- Billing Grace Period: Payment issue, but access is still available.
- Billing Retry: Payment issue, no access, but retry attempts are ongoing.
- Expired: No access due to non-renewal or unresolved payment.
- Revoked: No access due to revocation.
By understanding these states, it is possible to track users' subscription activity more effectively and address potential issues proactively.