Skip to main content
Answer

Is RevenueCat really using UTC as the time zone?

  • September 24, 2025
  • 3 replies
  • 59 views

Forum|alt.badge.img+3

Hello,

I am a little bit confused on what timezone RC used in the dashboard.

The first image shows a customer renewed the subscription at 02:06 PM UTC

Customer history for renewal

 However, when i click the event details for the renewal, it is showing 06:06 AM UTC

Renewal event detail

Meanwhile, my server log shows that the webhook triggered at 02:06 PM MYT (06:06 AM UTC)

Could anyone confirm this behaviour? Thanks

Best answer by chris_perriam

Hi ​@adib-zaini, this is due to the App Store processing renewals prior to the end of the current subscription period. Commonly, we observe Apple processing the renewal about 8hrs prior to the end of the period. If you’re using Server Notifications, we’re notified as soon as this happens and will dispatch events/webhooks accordingly.

In our RENEWAL events, here is what our timestamps represent:

  • event_timestamp_ms  - this is the timestamp at which RevenueCat processed the renewal event. If server notifications are configured for a project (as they are for yours), then the store will typically notify us as soon as the renewal is processed. As you mentioned, the App Store will commonly process a renewal in the final 24 hours of the previous subscription period.
  • purchased_at_ms - this is the timestamp at which the newly renewed subscription period begins. You'll commonly see this set to a few hours after the event_timestamp_ms for the reasons described above.
  • expiration_at_ms - this is the timestamp at which the newly renewed subscription period will end/expire (unless renewed again).

Here’s a reference to the early renewal processing in Apple’s documentation:

During the 24-hour period before the subscription expires, the App Store starts trying to renew it automatically. The App Store makes several attempts to automatically renew the subscription over a period of time but eventually stops if there are too many failed attempts.

This post has been closed for comments

3 replies

chris_perriam
RevenueCat Staff
Forum|alt.badge.img+6
  • RevenueCat Staff
  • Answer
  • September 26, 2025

Hi ​@adib-zaini, this is due to the App Store processing renewals prior to the end of the current subscription period. Commonly, we observe Apple processing the renewal about 8hrs prior to the end of the period. If you’re using Server Notifications, we’re notified as soon as this happens and will dispatch events/webhooks accordingly.

In our RENEWAL events, here is what our timestamps represent:

  • event_timestamp_ms  - this is the timestamp at which RevenueCat processed the renewal event. If server notifications are configured for a project (as they are for yours), then the store will typically notify us as soon as the renewal is processed. As you mentioned, the App Store will commonly process a renewal in the final 24 hours of the previous subscription period.
  • purchased_at_ms - this is the timestamp at which the newly renewed subscription period begins. You'll commonly see this set to a few hours after the event_timestamp_ms for the reasons described above.
  • expiration_at_ms - this is the timestamp at which the newly renewed subscription period will end/expire (unless renewed again).

Here’s a reference to the early renewal processing in Apple’s documentation:

During the 24-hour period before the subscription expires, the App Store starts trying to renew it automatically. The App Store makes several attempts to automatically renew the subscription over a period of time but eventually stops if there are too many failed attempts.


Forum|alt.badge.img+3
  • Author
  • New Member
  • September 26, 2025

@chris_perriam Thank you for the answer and the docs link. Does Play Store also have the same processing period?


chris_perriam
RevenueCat Staff
Forum|alt.badge.img+6
  • RevenueCat Staff
  • September 26, 2025

Google Play typically renews subscriptions close to the current period’s end date/time, rather than hours prior like the App Store.