I’m testing In-App Purchases in the sandbox on a real iPhone.
Auto-renewable subscriptions work correctly with the same app build, bundle ID, and sandbox tester account:
- com.aifalling.sides.vip.monthly
- com.aifalling.sides.vip.yearly
However, a non-consumable product can’t be purchased:
- Product ID: com.aifalling.sides.vip.onetime
- App Store Connect IAP Apple ID: 6794812888
- Type: Non-Consumable
- Status: Ready to Submit
- Bundle ID: com.aifalling.sides
The native StoreKit payment request fails immediately with:
The purchase identifier was invalid.
The wrapper reports error code 700605. I verified the non-consumable product through the App Store Connect API:
- Product ID exists and is returned by the API
- One localization exists: zh-Hans
- A price schedule is configured, including a base territory and prices
- Availability includes China (CHN) and many other territories
- availableInNewTerritories is true
- I waited more than one hour after the latest metadata changes
- I completely removed the app, rebuilt/reinstalled the custom development build, and retried
- The same signed build can successfully purchase the two auto-renewable subscriptions
This is the first non-consumable IAP type for this app. The app and IAPs have not been submitted for App Review yet because I’m trying to complete sandbox testing first.
Does a non-consumable IAP require any additional App Store Connect setup or association that an auto-renewable subscription doesn’t require for sandbox testing? Is Ready to Submit sufficient for sandbox testing of a non-consumable product in this situation?
Any guidance would be appreciated.