I'm hitting the same issue. For me it happens after this secuence:
- Install app on a device logged into a UK account on iTunes
- Launch the app and use a test user set in USA
- Message is shown saying account is only valid in USA. Closes the app and auto launches iTunes
- Open your app again and retry purchase. Receive products but no other callback or error.
I don't know whether this is an issue on the IAP platform but I would like to get an error/callback to handle it in some way in my code.
To carry on testing your IAPs try any of these:
- Remove Provisioning Profile in Settings area, remove App and log out from Store in Settings. Then go to XCode and change the signing identities to "Do Not Sign" to then put them back (I know how it sounds :) but try) OR
- Hard reset all Settings on your device (Settings -> General...). Obviously you will loose any settings on that device...
- Kill iTunes app on the device (multitask menu) and log out from the Store on the Settings
If none of the above work, it might be an issue on IAP platform, see my comments below.