I have a subscription based app (Unity 5.4 and UIAP 1.10.1) on the stores and they work with custom server validation. iOS is working fine when a subscription auto-renews, but with Android I don’t seem to be getting the latest transaction at initialisation.
When I look at the purchased product details I can see the purchase date was the first subscription date, but since then there has been one auto-renew. My server validation is failing with the provided receipt because it is expired. I’ve tried checking both the products.all array and the processPurchase callback at start up and both show the old receipt.
So I’m now in Unity 5.6.1 and still Unity only returns the very original subscription transaction details. Because there is no option to call the getPurchaseHistory for Android it seems like there is no mechanism/method to find out the receipt for the latest auto-renewed transaction.
Is there anyone else using auto-renewable subscriptions and if so do you have this problem?
Can someone from Unity perhaps reply to let me know if this is expected behaviour?
Unity IAP will only get the receipt for the transaction that occurred in the app. We don’t get a new receipt when the subscription auto-renews. We are working on some improvements to handle this situation a bit better.
Currently the only way to track renewing subscriptions is by parsing the receipt returned. You can find more details here: