Shopify App Store Rejections: Clarifying Off-Platform Billing for Wholesale Business Models

Hey everyone, your friendly Shopify expert here, diving into a really insightful (and let's be honest, often frustrating) discussion from the community forums. We've all been there – you're building something awesome, following instructions, and then hit a wall with app submission. This particular thread, started by Adam_Pallozzi, perfectly illustrates a common pitfall when your app's business model doesn't fit the most common mold.

Adam was pulling his hair out because his app kept getting rejected from the Shopify App Store. The reason? "Off-platform billing." The kicker was, his app is actually free for merchants. His revenue comes from wholesale product sales to his enterprise customers through an external platform, SleepHQ. But here's where the wheels came off: the Shopify reviewers kept creating "patient accounts" on SleepHQ, which do involve billing, despite Adam providing super clear instructions and enterprise credentials for their testing.

It sounds like a classic case of miscommunication, right? Adam thought, "I gave them instructions! They didn't follow them!" And he's not wrong about the instructions part. He even escalated it via live chat. But, as the community discussion unfolded, a couple of brilliant minds, big-bulk-discount and MayraApps, chimed in with some crucial perspectives that really shifted the approach.

Understanding the Reviewer's Perspective: Requirement 1.2.1

The core of the issue, as MayraApps pointed out, is that Adam might have been arguing the wrong point. The reviewers weren't necessarily ignoring instructions out of malice; they were likely applying App Store requirement 1.2.1. This rule states that apps using off-platform billing can't be distributed unless Shopify has specifically notified you otherwise. From their seat, if they land on a page that charges money, it looks like off-platform billing for the app, regardless of your detailed notes.

App Store requirements

So, the problem wasn't just that they didn't follow instructions; it was that the reviewers' default interpretation of "off-platform billing" didn't account for Adam's specific business model: selling physical goods wholesale, not charging for the app itself.

The Right Argument: Wholesale Goods vs. App Charges

This is where MayraApps dropped some serious knowledge. The argument that actually helps you isn't about the reviewer ignoring instructions. It's about clarifying the type of transaction. Shopify's own Best Practices for apps in the Shopify App Store explicitly state:

"For apps selling goods to merchants, it says to use a PCI compliant gateway for those goods and put other app costs through Shopify billing."

Best practices for apps in the Shopify App Store

Adam's app connects merchants to a platform where they buy physical products wholesale to resell. This is a goods transaction with a supplier, not an app charge. And critically, Shopify's best practices suggest this should sit outside the Billing API. Bingo! This is the distinction that needs to be crystal clear.

Actionable Steps to Get Your App Approved

Based on the community's collective wisdom, here's a refined strategy if you find yourself in a similar situation:

1. Reframe Your Communication

  • Stop arguing about ignored instructions: While frustrating, focusing on this won't change the reviewer's interpretation of the rule.
  • Clearly state your business model: Emphasize that your app is free to use for merchants. No merchant is ever charged for using the app's functionality.
  • Distinguish transaction types: Explain that the only money changing hands is for wholesale product purchases made by enterprise customers from you.
  • Cite Shopify's own documentation: Reference the Shopify App Store Best Practices page (specifically the section about selling goods to merchants) and explain how your wholesale transactions align with using a PCI compliant gateway outside the Billing API.

2. Engage Shopify Partner Support Proactively

Instead of just resubmitting or replying to review rejections, take a more direct route:

  1. Seek explicit approval: In your app's pricing settings within the Partner Dashboard, there's an option confirming you have approval to charge merchants outside the Billing API. Contact Shopify Partner Support directly and request this approval for your specific use case.
  2. Provide your reasoning: Use the refined argument from Step 1, citing Shopify's documentation, to explain why your wholesale product sales should be exempt from the standard Billing API requirement. This is a different conversation than the review queue and is designed to resolve these types of ambiguities.
  3. Avoid repeated submissions: As MayraApps wisely advised, each new submission often lands with a different reviewer. This means you're starting from scratch every time. Focus on resolving the underlying issue through Partner Support or by replying on the existing review thread and asking the reviewer to cite the specific clause they're applying.

3. Review Your App's User Experience (UX)

Think about what a reviewer (or any merchant) would naturally discover:

  • Minimize discoverability of paid paths: If your external platform (like SleepHQ) has a self-serve "patient account" creation path that involves billing, ensure it's not easily discoverable or accessible from within the context of your Shopify app's integration.
  • Make the enterprise path primary: Can the enterprise (free) path be the only thing reachable from inside the app for testing purposes? This might involve specific landing pages for Shopify users or clearer UI segregation.

This whole situation highlights how crucial clear communication and a deep understanding of Shopify's guidelines (and their nuances) are, especially for unique business models. It's not always about following instructions to the letter; sometimes it's about helping the reviewers understand that your unique approach actually aligns with Shopify's broader best practices. By reframing the conversation and leveraging Partner Support, you can cut through the confusion and get your valuable app into the hands of your waiting enterprise customers!

Share:

Use cases

Explore use cases

Agencies, store owners, enterprise — find the migration path that fits.

Explore use cases