Unable to Test Subscriptions in Sandbox Before App Store Review

Hello Developers,

I’m encountering an issue while setting up and testing subscriptions for my iOS app. Here’s a detailed breakdown of the situation:

I have configured a 1-Year Premium Membership subscription in App Store Connect. The subscription is currently in the Waiting for Review status. To properly test this subscription in the Sandbox environment, it seems the subscription needs to be approved first. However, to get it approved, I need to submit it with my app, creating a frustrating loop. My app currently doesn’t feature the subscription on its UI, as I want to thoroughly test its functionality before integrating it fully. Steps Taken:

Configured metadata for the subscription in App Store Connect (e.g., localized name, description, and price). Submitted the subscription for review. Verified product IDs and linked them correctly in my paywall configuration. Key Questions: Is it mandatory for the subscription to be integrated into the app for the initial review? Can I successfully test a subscription in the sandbox environment while its status is still Waiting for Review? What’s the best practice to handle this situation and break the testing-review loop? Any insights or guidance would be greatly appreciated. Thank you for your time!

Answered by App Store Commerce Engineer in 817024022

Your subscription product doesn't need to be cleared for sale or app review approved to test. When your test app is installed on a device via Xcode (adhoc distribution) your app needs to fetch the product and merchandise it just like it would in production.

Because the app is adhoc distributed, your app/storekit knows to check with sandbox and the product will be available to purchase (free sandbox purchase) - that way you can test thoroughly before submitting to app review.

Your subscription product doesn't need to be cleared for sale or app review approved to test. When your test app is installed on a device via Xcode (adhoc distribution) your app needs to fetch the product and merchandise it just like it would in production.

Because the app is adhoc distributed, your app/storekit knows to check with sandbox and the product will be available to purchase (free sandbox purchase) - that way you can test thoroughly before submitting to app review.

@Baker19

What if we are using a third-party paywall, Revenue Cat. Our app was rejected for this same reason.

Testing In-App Purchases in the sandbox environment doesn’t require uploading your app binary to App Store Connect as mentioned by @App Store Commerce Engineer.

You build and run your app from Xcode. Apple reviews your in-app purchases in the sandbox. TestFlight uses the sandbox environment for in-app purchases. What issue did you encounter?

Apple Rejected the app for the following reason: Guideline 2.1 - Performance - App Completeness Issue Description

In-app purchase products associated with the app version submitted for review, such as Monthly Plan (2 Dependents), Monthly Plan (4 Dependents), Monthly Plan (unlimited), Monthly Plan (6 Dependents), Annual Plan (2 Dependents), Annual Plan (4 Dependents), and Annual Plan (6 Dependents), could not be found in the submitted binary.

Next Steps

If you do not want to make these in-app purchase products available at this time, remove the unused in-app purchase products you’ve created from App Store Connect.

If you want to make these in-app purchase products available at this time:

  • Ensure the products are active and that you have implemented StoreKit in your app. If you have not, submit a new binary for review with these changes.

  • Resubmit the in-app purchase products if they are in the Developer Action Required State. You must edit the detail information or cancel the request to change the detail information before the in-app purchase products can be reviewed again.

If you’ve already implemented StoreKit and enabled these in-app purchase products, reply to this message and explain where these can be found in the app.


**

We are using the Revenue Cat paywall. Not sure how to add the subscriptions to the actual binary file or implement storekit.

Our subscriptions loaded in the Apple Store Connect and have been submitted for review several times but continue to get rejected. I'm not sure if these issues are related. I can run the app in testflight and purchase the subscription plans from the paywall.

The rejected subscriptions appear to be reject for localization. It's really unclear. I have tried different variations of strings for localization. ** Including a screenshot of subscriptions in the app connect.

Unable to Test Subscriptions in Sandbox Before App Store Review
 
 
Q