I have in-app purchases set up so that when a user clicks on the buy button, a \"Please Wait\" view appears and adds a payment to the payment queue. This always causes an i
If I understood your situation correctly, you've encountered this problem:
In App Purchase user cancels tx while app in background: tx state stays on purchasing
This appears to be a bug in Apple's Store kit. The issue can easily be reproduced if you send your app to background right after initiating a purchase and then pressing the cancel button when the buy confirmation popup is prompted. Your app will never receive the transaction failed(cancelled) notification and will enter a blocked state (if you disabled the UI trying to prevent the user from interacting with the app until the purchase has finished).
We have to wait for a fix from Apple. In the meantime, if your app is entering a blocked state because you disable UI while making a purchase; you should implement some mechanism to allow the user to leave that state.
Good luck!
I have the same problem, however, I have only managed to reproduce it when using a sandbox appstore account.
Has anyone managed to reproduce it using a real apple account?
I've not tried this yet, but I am thinking about removing my SKPaymentTransactionObserver the moment the app loses focus, and the adding it again when it next becomes active.
The weird thing about about this bug is that you get stuck with a transaction in the purchasing state, however when you properly shutdown the app and the restart it you would expect that transaction in the purchasing state to still be there, however it is not... As if the re-adding the SKPaymentTransactionObserver has triggered it to properly re-evaluate it's state.