IOS grace period question

Hi I was wondering if the unity iap SubscriptionInfo isSubscribed() take account of the IOS grace period?

We would need to test. What are you seeing in your testing?

I was asking because it pretty hard to test that on ios.
We currently have a way of checking if the user is in the grace period but not with unity IAP.
It would be nice if it’s supported though.

Edit:
The only info I have for grace period with IAP is from here Check if subscription has ended
This post seem to say grace period are supported(On android though)
I just wanted to be sure of the fact.

We will need to check Introducing Billing Grace Period for Subscriptions - Latest News - Apple Developer

Ok thanks

Hello do you have any update on this?

You need to check the is_in_billing_retry_period by access the verifyReceipt endpoint. App Store Receipts | Apple Developer Documentation

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. is_in_billing_retry_period | Apple Developer Documentation

Yes This is our current way of doing that. I wanted to know if iap support grace period or will support it.
Thanks

According to the AppleInAppPurchaseReceipt class, I didn’t see any field related to the Subscription Retry Flag or is_in_billing_retry_period, so we currently do not provide this information. I think we need to wait until the new IAP version is released to know if there is any change here.

using System;

using UnityEngine.Purchasing.Security;

public class AppleInAppPurchaseReceipt : IPurchaseReceipt
{
    public int quantity {
        get;
        internal set;
    }

    public string productID {
        get;
        internal set;
    }

    public string transactionID {
        get;
        internal set;
    }

    public string originalTransactionIdentifier {
        get;
        internal set;
    }

    public DateTime purchaseDate {
        get;
        internal set;
    }

    public DateTime originalPurchaseDate {
        get;
        internal set;
    }

    public DateTime subscriptionExpirationDate {
        get;
        internal set;
    }

    public DateTime cancellationDate {
        get;
        internal set;
    }

    public int isFreeTrial {
        get;
        internal set;
    }

    public int productType {
        get;
        internal set;
    }

    public int isIntroductoryPricePeriod {
        get;
        internal set;
    }
}

Thanks :slight_smile: