Real money must not move while you test a subscription. The sandbox solves that: it is a test environment where purchases behave like real ones, but nobody is charged. This guide covers the setup, the accelerated clock and a test plan for subscriptions. Apple changes details over time, so treat the linked pages as the reference and check them before relying on a number.
Sandbox accounts
According to Apple, you create Sandbox accounts in App Store Connect (Users and Access > Sandbox) and sign in with them on devices running a development-signed build of your app. Developer Mode must be enabled on each device. Points from Apple's page, as retrieved on 2026-10-23:
- The email address must not already be registered as an Apple Account. Apple suggests a dedicated address per tester.
- Sandbox accounts are valid only for testing; they cannot sign in to or buy on the real App Store.
- Each account belongs to a storefront, and you can change its country or region later to test other storefronts.
- On the device, use the Sandbox sign-in option in Settings, not your main Apple Account settings. For in-app purchases you do not need to sign out of your personal account.
The accelerated clock
Sandbox subscriptions renew faster than real ones. Per Apple's page (retrieved 2026-10-23), the default is 1 month = 5 minutes, and the speed depends on the subscription length:
| Subscription length | Default sandbox renewal |
|---|---|
| 1 week | 3 minutes |
| 1 month | 5 minutes |
| 2 months | 10 minutes |
| 3 months | 15 minutes |
| 6 months | 30 minutes |
| 1 year | 1 hour |
You can change a tester's renewal rate in the sandbox account settings (options: every 3 minutes, 5 minutes, 30 minutes or hourly). The rate also sets the length of billing retry and billing grace period for that tester. Apple states that subscriptions renew up to 12 times before auto-renewal stops on the thirteenth attempt, so plan long tests with that cap in mind.
What to verify for subscriptions
- Purchase. Buy each product. Check price display, localized text and the unlock after success.
- Entitlement state. After purchase, restart the app and reinstall it. Is access still correct?
- Renewal. Wait for a renewal and confirm the app and your server record the new period.
- Cancellation. Cancel and confirm access continues until the period ends, then stops.
- Expiration. Let the subscription lapse. The app must lock paid content and show a way back.
- Billing retry and grace. If you use these states, test them at the accelerated speed.
- Restore. Test restoring purchases on a clean install with the same account.
- Upgrade, downgrade, crossgrade. Switch between plans in the same group and check the resulting state.
- Offers. Free trials and introductory offers: test eligibility and what happens when the trial ends.
- Interrupted purchase. Cancel the sheet or lose the network mid-purchase. The app must not unlock or break.
- Server-side checks. If your backend validates receipts or notifications, confirm that it receives and handles sandbox events separately from production ones.
The paywall screen itself needs separate checks: see how to test your paywall.
Limits
Sandbox behavior is close to production but not identical. Run a final check on a build distributed the way users get it, and read Apple's current documentation before you ship.
Next step
A second person buying through your flow finds confusion you no longer see. On AppReviewX other developers give you private, structured feedback; one feedback you write earns one credit. New accounts start with 0 credits.
Hub: iOS app testing guide. Related: demo account for app review, iOS app review readiness checklist.