Use RevenueCat Test Store to automate in-app purchase flows without an App Store or Google Play test account. Test purchases update CustomerInfo, grant entitlements, and appear as sandbox data in RevenueCat.
RevenueCat
How it works
RevenueCat Test Store replaces the native store purchase sheet with a test modal. Autosana can select a successful, failed, or cancelled outcome and then verify how your app responds.
Use this workflow to test:
- Paywall navigation and product selection
- Successful purchases and entitlement unlocks
- Failed and cancelled purchases
- Entitlement state after the app is reopened
- Check that your RevenueCat SDK supports Test Store in the RevenueCat Test Store requirements.
- In RevenueCat, open Apps and providers and create or select a Test Store.
- In Product catalog, create the products used by your test paywall.
- Attach each product to a package in an offering. Make sure your app fetches that offering.
- Initialize the RevenueCat SDK with the Test Store API key. Test Store keys begin with
test_.
Never submit a build configured with a Test Store key to the App Store or Google Play. Use build configuration or environment variables to select the Test Store key only for dedicated test builds.
Build a standalone test app
Create a development or debug build that:
- Uses the RevenueCat
test_ key
- Includes the app code and assets needed to run without a development server
- Does not depend on Metro, hot reload, or another process on your computer
If your framework’s normal debug build connects to a local bundler, create a dedicated standalone testing configuration that remains a development/debug build while bundling the app locally.
See Building Your Mobile App for Our Cloud for supported artifact formats and platform-specific build requirements.
Upload the build to Autosana
- Open Apps in Autosana.
- Create or select your iOS or Android app.
- Upload the standalone test artifact and make it the active build: a zipped
.app for an iOS Simulator, or an .apk or .aab for Android.
- Run the purchase flows on a compatible virtual device.
Create purchase flows
Create separate flows for outcomes that need a clean starting state. Replace the bracketed text with the screens, plans, and premium state used by your app.
Successful purchase
Failed purchase
Cancelled purchase
Entitlement persistence
Verify the result in RevenueCat
After a run, open the customer in RevenueCat and enable sandbox data. Confirm that:
- The purchase is associated with the expected App User ID
- A successful purchase activated the expected entitlement
- A failed or cancelled purchase did not activate the entitlement
If you use RevenueCat webhooks or integrations, you can also confirm that the matching sandbox event was delivered.
Troubleshooting
Before you ship
Replace the test_ key with the correct platform-specific RevenueCat key before releasing the app. RevenueCat also recommends completing final purchase validation through Apple or Google platform sandboxes; follow RevenueCat’s sandbox testing guide for those steps.