In-App Purchase dialog not appearing during App Review but works on physical device

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:

  1. Calls InAppPurchase.instance.isAvailable()
  2. Queries product details with queryProductDetails()
  3. 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.

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?

Apple reviews your In-App Purchases in the sandbox environment, the same environment you use to test your products. In the sandbox, StoreKit uses data you configured for your app in App Store Connect when the app calls StoreKit APIs in the environment.

Be sure to test your products in the sandbox before submitting them for review. If your app uses a StoreKit configuration file, be sure to disable StoreKit Testing in Xcode before starting to test in the sandbox. For more information, see Setting up StoreKit Testing in Xcode.

After you successfully test your products in the sandbox, be sure to submit them for review in App Store Connect. For more information, see Submit an In-App Purchase.

In-App Purchase dialog not appearing during App Review but works on physical device
 
 
Q