Hi everyone,
My app has been rejected twice under Guideline 2.1(b) - App Completeness because the reviewer says the In-App Purchase does not trigger a purchase flow when tapping the purchase button.
However, I have tested it on a physical iPhone (iOS 18.6.2) and the StoreKit purchase dialog appears and completes successfully. I have confirmed:
- Paid Apps Agreement is active
- In-App Purchase product (non-consumable) is configured correctly
- Sandbox test account works fine
- Purchase flow works on physical device with screen recording as proof
The reviewer tested on iPad Air 11-inch (M3) with iPadOS 26.4.
My app uses Flutter with the in_app_purchase package (v3.2.0). The purchase implementation:
- Calls
InAppPurchase.instance.isAvailable() - Queries product details with
queryProductDetails() - Calls
buyNonConsumable()when user taps purchase button
I found and fixed a potential null reference issue in the purchase completer that could cause the purchase to fail silently, but I'm not sure if this was the exact cause since I cannot reproduce the issue.
Has anyone experienced a similar situation where IAP works on device but fails during App Review? Any suggestions on what might be different in the review environment?
Thank you.