The sample code provided in https://developer.apple.com/wwdc21/10114 doesn't appear to call finish()
on unverified transactions, and I haven't been able to find any documentation regarding what to do with unfinished transactions. However, Apple has always emphasized the importance of finishing transactions, and since a transaction object is provided even with the unverified state, I'd love some guidance!
StoreKit 2 - Is it necessary to finish unverified transactions?
Any guidance here? If you download https://developer.apple.com/documentation/storekit/in-app_purchase/implementing_a_store_in_your_app_using_the_storekit_api and look at its implementation of Store.purchase()
, you'll see that if the transaction is .unverified
, checkVerified()
will throw StoreError.failedVerification
, and transaction.finish()
will not be called.
I also encountered the same confusion, the same transactionid, every time when the restoreTransaction, there will be unverified failure of the order, and I feel very strange