iOS Subscription transaction fails if the device's date is wrong

Hello,

I’m using Unity 2017.4.3.f1, and Unity IAP 1.20.0. Our app only targets iOs for now, and has one in-app purchase which is an auto-renewable 7-days subscription (with a 3-days trial the first time).

Our trouble is, when buying it in normal conditions, it works without any trouble. But if we launch it from a device which time is 2 days ahead in the future (by example), the iTunes transaction works all the way (and our users would be debited) BUT Unity’s ProcessPurchase never triggers.

A proof of the transaction’s success is that the next time we check (via the SubscriptionManager / SubscriptionInfo class) our player’s status, subscriptionInfo.isSubscribed() returns true.

I joined to this post 2 tracelogs of the transactions. You can see the “UnityIAP: Finishing transaction xxx” never triggers in the one launched with a wrong date, even though it should since the transaction was completed.

Even though it may not impact a lot of users, we believe this to be a real inconvenience, and would be glad to have more information about when it will be corrected (since such a correction probably isn’t possible without a sdk’s update) ?

3562809–287059–normalTransaction.txt (4.73 KB)
3562809–287060–futureTransaction.txt (3.38 KB)

@Vordyn Thank you for reporting this, I will mention it to the IAP team. However, it will likely be categorized as low priority, so I would not expect an update any time soon.