"purchase_date" and "purchase_date_ms" are sometimes incorrect in App Store notifications

Hi, sometimes we receive subscription renewal notifications from App Store that have "purchase_date" and "purchase_date_ms" 8 hours in the future. However, according to the documentation on this page: https://developer.apple.com/documentation/appstorereceipts/responsebody/latest_receipt_info , this is what the purchase date is:

The time the App Store charged the user’s account for a purchased or restored product, or the time the App Store charged the user’s account for a subscription purchase or renewal after a lapse, in a date-time format similar to ISO 8601.

So I would expect the purchase date to be a date in the past. Can you please clarify if there's a bug on Apple's side somewhere, or if the documentation is wrong, or if I'm missing something?

Answered by App Store Commerce Engineer in 744843022

For Subscriptions that auto-renew, these purchase events occur in the background and can occur in advance of the actual "start" date (purchase_date) of that transaction period. This ensures subscriptions auto-renew in advance of expiry and that customers experience no interruption of service. This advance notice with server notifications also ensures your system is fully up to date of a subscriptions status.

Accepted Answer

For Subscriptions that auto-renew, these purchase events occur in the background and can occur in advance of the actual "start" date (purchase_date) of that transaction period. This ensures subscriptions auto-renew in advance of expiry and that customers experience no interruption of service. This advance notice with server notifications also ensures your system is fully up to date of a subscriptions status.

"purchase_date" and "purchase_date_ms" are sometimes incorrect in App Store notifications
 
 
Q