Four rejections on one Shopify App Store policy line. Writing down what it actually was.
Not a launch post. We are not live, our listing is suspended right now. But this cost us a lot of time and I have not seen anyone write it down, so.
The policy is 1.2.1. If you list on the Shopify App Store, you have to bill through Shopify. Not should, have to. If your app charges through Stripe, or anything that is not Shopify's billing API, the listing gets rejected. Free apps are fine. The moment there is money, it goes through them.
Written down like that it looks obvious. It was not obvious to us, because the app worked and the payments worked, so nothing looked broken from our side.
What we ended up with: Shopify App Pricing (managed pricing), where Shopify hosts the plan-selection page and does the charging, and Stripe kept alive in parallel for customers who do not arrive through Shopify. Two billing providers against the same subscription record, one flag deciding which is authoritative. It is more code than it sounds like.
Two things I would tell someone starting today. Decide the App Store question before you build billing, not after, because it is not a payment integration, it is a different pricing model, and Shopify owns the plan page so the plan handles in their dashboard have to match your tiers exactly. And if you also sell outside Shopify, you will run both, so put it in the schema on day one.
For anyone who has been through review: how many rounds did it take you, and was it the same policy line every time? Genuinely asking. I want to know if four is normal or if we were just slow.
Replies