Connection between isInBillingRetryPeriod and gracePeriodExpiresDate

Hi. We have recently switched to server notification V2. Based on this documentation (notificationType):

If the subtype is GRACE_PERIOD, continue to provide service through the grace period. If the subtype is empty, the subscription isn’t in a grace period and you can stop providing the subscription service.

Also, base on another documentation (StoreKit):

Throughout the billing grace period, the value of isInBillingRetry is true, which indicates that Apple is attempting to automatically renew the subscription.

Now, I'm receiving DID_FAIL_TO_RENEW server notification with GRACE_PERIOD subtype where gracePeriodExpiresDate is in the future, but isInBillingRetryPeriod is false (additional note: user has been in trial period and now must be charged as trial has ended).

The question is: Is this situation a valid Grace Period even if user is not in billing retry period? And if yes, please elaborate why this is the case.

Thank you!

Answered by seinshah_t in 796385022

After exchanging messages with Apple team, the issue is resolved now and we don't see any occurrence of this error.

As another reference, there is a documentation in version 1 of server notification https://developer.apple.com/documentation/appstorereceipts/is_in_billing_retry_period:

Implement a grace period to improve recovery, if the value is “1” and the expires_date is in the past. A grace period is free or limited subscription access while a subscriber is in a billing retry state.

Grace period is an optional subset of the billing retry period. So we can investigate this potential bug, please file a feedback ticket and post the FB number here. Include as much information as you can, including the full signed notification body.

http://feedbackassistant.apple.com

Accepted Answer

After exchanging messages with Apple team, the issue is resolved now and we don't see any occurrence of this error.

Connection between isInBillingRetryPeriod and gracePeriodExpiresDate
 
 
Q