I am still using App Store Server Notifications 1.0, i wanna to recognized the situation that user didn't fix while pay issue occur, so he is expired after grace period.
But I notice that there will be a long time after his grace period I received the notification.
Such as:
{
"auto_renew_product_id": "com.protect.adpatrol.weekly2",
"auto_renew_status": "false",
"auto_renew_status_change_date": "2023-01-03 16:50:59 Etc/GMT",
"auto_renew_status_change_date_ms": "1672764659000",
"auto_renew_status_change_date_pst": "2023-01-03 08:50:59 America/Los_Angeles",
"environment": "PROD",
"notification_type": "DID_CHANGE_RENEWAL_STATUS",
"original_transaction_id": 150001223579830,
"unified_receipt": {
"environment": "Production",
"latest_receipt_info": [
{
"expires_date": "2022-11-01 09:15:38 Etc/GMT",
"expires_date_ms": "1667294138000",
"expires_date_pst": "2022-11-01 02:15:38 America/Los_Angeles",
"in_app_ownership_type": "PURCHASED",
"is_in_intro_offer_period": "false",
"is_trial_period": "true",
"original_purchase_date": "2022-10-29 09:15:42 Etc/GMT",
"original_purchase_date_ms": "1667034942000",
"original_purchase_date_pst": "2022-10-29 02:15:42 America/Los_Angeles",
"original_transaction_id": "150001223579830",
"product_id": "com.protect.adpatrol.weekly2",
"purchase_date": "2022-10-29 09:15:38 Etc/GMT",
"purchase_date_ms": "1667034938000",
"purchase_date_pst": "2022-10-29 02:15:38 America/Los_Angeles",
"quantity": "1",
"subscription_group_identifier": "20900376",
"transaction_id": "150001223579830",
"web_order_line_item_id": "150000550680992"
}
],
"pending_renewal_info": [
{
"auto_renew_product_id": "com.protect.adpatrol.weekly2",
"auto_renew_status": "0",
"expiration_intent": "2",
"grace_period_expires_date": "2022-11-07 10:15:38 Etc/GMT",
"grace_period_expires_date_ms": "1667816138000",
"grace_period_expires_date_pst": "2022-11-07 02:15:38 America/Los_Angeles",
"is_in_billing_retry_period": "0",
"original_transaction_id": "150001223579830",
"product_id": "com.protect.adpatrol.weekly2"
}
],
"status": 0
}
}
Notice that his grace period is expire at '2022-11-07 10:15:38 Etc/GMT', but his renew status change at '2023-01-03 16:50:59 Etc/GMT'. It is almost 60 days.
So this message is sent after billing retry attempts(up to 60 days) fail?
In V1 notifications, DID_CHANGE_RENEWAL_STATUS is sent whenever auto-renewal is toggled on or off. In this case it could have been the user turning off auto renewal, indicating they don't want their payment method to be charged while the billing retry period is active, or it could have been the system disabling auto-renewal at the end of the billing retry period.