Pass app review
Before you submit your app to Shopify, you should do some final tests, validations, and administrative tasks to ensure that it's ready for review, and ready for merchants to use the app in production.
The app review team will only review production-ready apps. If you submit an app that is incomplete or has errors that prevent us from reviewing its features, then it won't be approved.
After you've tested your app and made sure that it meets all of our app requirements, you can submit your app for approval. These instructions apply to all apps.
Ensure you agree to follow the terms outlined in the Partner Program Agreement and the Shopify API License and Terms of Use. If at any point you don’t meet these terms, then Shopify restricts your access to Partner services.
Anchor to Run an AI self-review against your codebaseRun an AI self-review against your codebase
Before you submit, you can run a self-review of your app against every Shopify App Store requirement that can be evaluated from a local codebase. An AI agent reads the requirements, inspects your project, and returns a report of likely passing, likely failing, and needs-review items. The same command appears in the pre-submission checklist on the Shopify App Store review page, but you can run it any time while you build.
The Shopify AI Toolkit includes the self-review skill. After you install the Toolkit, invoke the skill from your agent chat:
Agent chat
The AI self-review only covers requirements that can be checked against code. Requirements that depend on your app listing content, live app behavior, or merchant-facing UX aren't included. The Shopify app review team still verifies all requirements after you submit.
The AI self-review only covers requirements that can be checked against code. Requirements that depend on your app listing content, live app behavior, or merchant-facing UX aren't included. The Shopify app review team still verifies all requirements after you submit.
Anchor to Install your app on a development storeInstall your app on a development store
Development stores can be used to test apps to ensure they're free of bugs or otherwise incomplete. If you don’t have a development store, then you can create one.
You can also install your app on a development store using Shopify CLI.
You can also install your app on a development store using Shopify CLI.
- Log in to your Dev Dashboard.
- Click Apps.
- Click the name of your app to navigate to the App overview page.
- On the app overview page, in the Installs section, click Install app.
- Select the development store you wish to use.
The app should be automatically installed to your dev store. If you are instead directed to the OAuth grant screen, you can manually install your app. If the app doesn't get automatically installed, or you don't see the OAuth grant screen, then you might need to double check your app’s code, as well as the app URLs and redirects. You can avoid this by using Shopify managed installation.
Anchor to Check your OAuth installs for errorsCheck your OAuth installs for errors
Tip: If you configure your app using Shopify CLI, then your app will automatically use Shopify managed installation. You can skip this step.
Tip: If you configure your app using Shopify CLI, then your app will automatically use Shopify managed installation. You can skip this step.
Before submitting your app, make sure to test your app’s URLs and redirects. Before submitting your app, make sure its App URL and allowed redirection URL redirect merchants to the OAuth screen as expected. If they don't redirect merchants to the OAuth grant screen, then your app won't be approved.
- In your Dev Dashboard, click Apps.
- Click the name of your app.
- Click Versions.
- Click the active version. This represents the currently released version of your app.
- Check your app URL and your redirect URLs.
- Review and test the URLs that you provided.
For more information about using OAuth to communicate with Shopify, refer to Getting started with OAuth.
Anchor to Test your app’s billing systemTest your app’s billing system
All charges associated with apps submitted to the Shopify App Store must use Shopify's billing system. Test your billing flow before you submit your app. The testing method depends on whether you use App Pricing, or manual pricing.
Your billing integration must meet the Shopify App Store billing requirements.
Anchor to Shopify App PricingShopify App Pricing
On a dev store in the same Partner organization as your app, you can select any available Shopify App Pricing plan at no charge. Test the plans that you intend app users to select, including:
- Initial plan approval and redirection to the plan's welcome link.
- Upgrades and downgrades between plans.
- Subscription status checks and access to the correct plan features.
- Usage meters and billing events for usage-based plans.
Shopify creates an app subscription contract with effective recurring and usage-based prices of $0 for the dev store. Don't use the Billing API test field for this flow. Learn more about testing Shopify App Pricing plans on dev stores.
Anchor to Manual pricing with the Billing APIManual pricing with the Billing API
To test a manual billing integration without incurring a charge, set the Billing API test field to true when your app creates the charge. Shopify creates a test charge when you install the app on your development store.
After you finish testing, set test to false. Otherwise, app users who install your app aren't charged.
Anchor to Request access to protected customer dataRequest access to protected customer data
If your app uses customer data, then you need to meet the protected customer data requirements and then apply for access to this data in the API Access > Protected customer data access section of your Partner Dashboard.
Anchor to Common app review problemsCommon app review problems
Apps often need to be updated or re-submitted for a few common reasons.
Resubmitting your app slows down the review process. To avoid delays, before submitting your app, learn how you can avoid these problems with the solutions in the following table.
| Category | Reason | Solution | Failure requires app re-submit |
|---|---|---|---|
| Billing |
|
| No |
| Installation |
|
| Yes |
| Embedding |
|
| Yes |
| User interface |
|
| Yes |
| App Testing |
|
| Yes |
| Online store apps |
|
| Yes |
Anchor to Next stepNext step
Submit your app: If you've followed all of the requirements to create your app, then you're ready to submit your app for review by the Shopify app review team.