Hi, some day ago I got these webhook events for a subscription:
2024-01-06 10:40:47 SUBSCRIBED
subtypeINITIAL_BUY
2024-01-20 03:02:29 DID_RENEW
subtypeBILLING_RECOVERY
2024-01-20 03:52:08 DID_CHANGE_RENEWAL_STATUS
subtypeAUTO_RENEW_DISABLED
2024-01-20 10:41:03 DID_FAIL_TO_RENEW
(no subtype was received)
When I get the subscription status form appstore server API, status
is 1
(active). We don't have grace period enabled in our app. I'm not sure how to interpret this result; from our perspective we should remove access to the user.
In this case, the DID_FAIL_TO_RENEW notification was sent after the subscription was successfully recovered. When you received the DID_RENEW subtype: BILLING_RECOVERY, that was when the subscription recovered. Shortly after that, auto renew was disabled. The subscription status API is still returning status=1 because the subscription is still active until it expires, and that is also why you see a new transaction in the response from the transaction history endpoint. Based on the information you have shared, refund history should not return anything as nothing was cancelled.