Test your app before you submit
Run these tests before you send your app to review. Work through them on a development store, with every setting pointing to production, using your app as a merchant would.Submit only when your app is ready#
A reviewer installs your app on a store and uses it as a merchant would, so the review reflects your app exactly as it is on the day you submit.A broken link, a webhook that does not arrive, or a crash on an Arabic product name all have to be returned to you. You then resolve the issue and submit again, and the review begins again from the start.We would much rather approve your app on its first submission. Working through the items below that apply to your app is the fastest way to get there.Start here: install your app on a development store#
We check this first, and your app needs at least one installation.Our review is hands-on: a reviewer opens your app on a store and uses it as a merchant would, and the installation is what makes this possible. Without one we cannot begin, so we return the app for you to install first.This is not a judgment about your app or your work. It means only that the review has not started, so we have no findings to share yet on your scopes, your listing, or anything else. Once your app is installed, we review it in full.To install it, open your app, select the App details tab, and find Development store. Install your app there and use it from beginning to end. This installation is also what allows you to test everything else on this page.How to use this page#
Not every section applies to every app.Parts 1 to 5 apply to all apps.
Part 6 is organised by app type. Work through only the sections that match what your app does.
This page covers whether your app works. Your listing is reviewed separately: names, URLs, screenshots, scopes, plans, and bank details are all covered in Submitting your app for review. You need both pages.Completing this page is not an approval in itself. It resolves the issues that return most apps.
Part 1: Before you start testing#
Please put these in place before you begin. Without them, your results will not reflect what a merchant experiences.
Part 2: Permissions#
Your app should request as few scopes as possible. Selecting every scope during development is common, so please review your selection carefully before you submit.
Each scope group has a read level and a write level, written as Product.read and Product.write. See Justifying your scopes.
Part 3: Activation, connection, and uninstall#
This section accounts for more returned apps than any other, so we recommend giving it the most attention. The full requirements are in Public Apps OAuth Requirements.Opening, uninstalling, and reinstalling
Part 4: Subscription and billing#
Paid apps only. Without these events your app cannot know when a merchant's subscription changes. The full list, with the timing of each event, is in Subscription and app events.
Part 5: Webhooks and data#
This section applies to any app that receives webhooks.
Part 6: By app type#
Work through the sections that match what your app does.6.1 Products#
6.2 Orders#
6.3 Messaging and notification apps#
These apps convert webhooks into messages. Confirm both that the event arrives and that the message reaches the connected platform.6.4 Marketing and coupon apps#
6.5 Storefront JavaScript apps#
6.6 Embedded apps#
Final checklist#
Please confirm each of these before you submit. | |
|---|
| Your app is installed on a development store β we check this first, and the review cannot begin without it | β |
| Every setting points to production: keys, URLs, and webhooks | β |
| Every scope corresponds to a feature your app provides today | β |
| OAuth begins as soon as the merchant selects Activate | β |
| Installing, uninstalling, and reinstalling all work, including after a scope change | β |
| Tokens are kept separate for each store and are never exposed | β |
| Subscription events are handled β paid apps only | β |
| Webhooks arrive, and repeated events are handled safely | β |
| Arabic data and Arabic screens are both supported | β |
| No values are hardcoded | β |
| Every section above that applies to your app passes | β |
Submit your app for review#
When you have worked through this page and resolved everything you found, submit your app. The same steps apply if your app was returned to you previously.1.
Open your app and select the Publish tab.
2.
Confirm your status reads Draft or Rejected.
3.
Submit your app for review.
Your status changes to Request to publish, and your app enters the review queue.Please resolve every issue before you submit. Each submission receives a complete review, so an app that is only partly corrected is usually returned for the same reasons. One thorough pass through this page is considerably faster than several rounds of review.If any item on this page is unclear for your app, your partnership manager will be glad to help before you submit. We would far rather answer a question now than return your app later. Modified atΒ 2026-10-21 20:08:04