StoreKit2 verification fail after app update

Hello,

I have a production issue with StoreKit2. My app has a renewal subscription, people can subscribe and get their benefits. The issue occurs when I release a new version of the app, as soon as subscribed people install the update they loose their benefits because the transaction is detected as unverified by storeKit2. If they delete the app and reinstall everything works properly again until the next app update.

It hard to debug because it happens only in production.

It is very frustrating and I have no idea how to solve this issue. The only solution I have though of is to remove the transaction verification.

Thanks for your help,

Cédric

Replies

Hi, could you file a feedback report with more details for this issue, so we can further investigate? If you are able to reproduce, it would be very helpful for us if you could attach a sysdiagnose of your device after reproducing the issue. It would also be helpful for us to know what VerificationError you are getting when the transactions come back as unverified(_:_:).

While we're getting to the bottom of this issue, we have some recommendations for handling unverified transactions. If you haven't already, add a UI control, such as a button, to your app's UI that calls AppStore.sync(). When you notice transactions are unverified, you can direct users to activate this control to synchronize their in-app purchases with the App Store. After this method returns, Transaction.all will have the latest transaction data for the current configuration. Deleting and reinstalling the app should not be necessary after calling AppStore.sync().

Hello, I am experiencing the same behaviour. I was previously just parsing the receipt and users had no problem. Now I use StoreKit2 and users with previously valid purchases after updating to new app version have to make a restore purchase (AppStore.sync()) otherwise, they don't get their purchases. Is there any resolution to this issue? I don't want to force all my users to press the restore button. Can I simply handle unverified transactions in the same way as verified ones? I don't care about jailbroken devices and I never learned anywhere what are those unverified transactions. Thank you!