Discrepancy between App Store Server API `expiresDate` and iOS Settings subscription expiration date

I am developing an iOS app that uses App Store Server API (v2) for auto-renewable subscriptions.

I noticed a discrepancy between the expiration date returned by the API and the date displayed in iPhone Settings > Subscriptions:

  • App Store Server API expiresDate: 2025-09-12T12:10:25 (KST)
  • iOS Settings > Subscriptions: 2025-09-11 (one day earlier)

My understanding:

  • The API’s expiresDate is the precise UTC timestamp.
  • The Settings UI might display the "last full calendar day" for UX purposes.

Questions:

  1. Is this behavior (UI showing one day earlier) an intentional Apple policy?
  2. If so, is there any official documentation or guideline explaining this behavior?
  3. Should developers always rely on the API’s expiresDate for subscription state management?

This discrepancy is confusing for both developers and end users, so any clarification or official reference would be greatly appreciated.

Discrepancy between App Store Server API `expiresDate` and iOS Settings subscription expiration date
 
 
Q