In UnityIAP, the payload may be empty when restoring. Can anyone tell me why this is happening and how to fix it?
I’ve been able to charge without any problems, but this is only happening to one user.
I haven’t done any Unity update or IAP update.
Unity version: 2019.4.20
IAP version: 2.2.7
The contents of the receipt for UnityEngine.Purchasing.Product are as follows.
Understood. Please provide specific steps to reproduce and the code you are using. Is this in TestFlight? We just pass along the information that the Apple Storekit provides to us. Is it just this one user? What is different about this user? Please keep in mind that in testing, a user can only renew a subscription 6 times, perhaps related.
This is an issue that has only occurred for one user.
The problem started on September 16, and the bug was fixed on September 30.
The bug was resolved when the app version was upgraded one level from the version where the problem occurred.
It is likely that the bug was resolved when the version was upgraded.
We didn’t include any support for this issue in the version upgrade. We expect that the receipt information cached locally by Unity was cleared at that time.
It was the next version after the one that was resolved that we put in a fix that we thought would fix it.
We are not sure what caused the problem, but it is solved. Thank you very much.
I’m confused about this. Are you saying that the payload is not available in StoreKit Test environments? On real user devices, the payload should always be provided, correct? Because there’s a whole section in the manual about doing client-side validation that relies on the receipt payload being there in order to validate a purchase. It even talks about provided a StoreKitTest certificate tangle for testing environments. How can we validate Apple purchases if this payload is missing?
I’d like to second this… I am getting the same issue where the payload within the Order.Info.Receipt is empty, and the Order.Info.Apple.AppReceipt is missing as well… (now in the new 5.0.0-pre.4 IAP package). Is it the case that we are not supposed to receive this? How could that be the case if we want to do validation ourselves?