Sales Channel Confusion - 3rd Party Payment Processing

We’ve been building an app which seems to fall in line with what would be classified as a sales channel within Shopify:

  • We have our own platform to drive customers to buy products there.
  • We have our own checkout process and payment processor, which is Stripe.
  • We have an integration with Shopify that will let users sync their products to our platform.

We mostly needed OAuth for syncing their products and then the ability to push orders back into their store in Shopify.

I submitted the app for approval a while back, with the intent of being a public unlisted app. We don’t care about being the app store, but this was the closest option I thought at the time. We got a pause on the approval since we use Stripe, and they said we are bypassing Shopify Checkout, which is true, but that’s just because we have our own checkout.

I’m trying to figure out if our plan to accept payments is not going to be possible at all. I think it’s confusing, and even LLMs can’t help me answer the question. They all provide different answers. I didn’t actually know about sales channels at the time, and so now I do to some extent, but it’s still not clear if classifying ourselves as one fixes anything.

Reading over the sales channel docs, they make it sound like our use case is fine because there is the channel config that indicates if we’re the merchant of record, which we are. We are “the external platform handles checkout and payment (marketplaces like Amazon and Walmart).”

But then they have requirements listed out here: App Store requirements

One of the requirements says we “take customers to Shopify’s Checkout”. But isn’t that contradicting us being a sales channel and merchant of record? That requirement list is kind of like a nail in the coffin, but I hope that isn’t the case.

I’d appreciate any insights on this. Thanks in advance!

Hello, @kenshin9
Your business model is valid. Since you’re building an external marketplace where you act as the Merchant of Record (similar to Amazon), you’re allowed to use Stripe and your own checkout flow.

Your app was likely paused because Shopify’s automated review system treated it like a standard app bypassing Shopify Checkout.

Since you only need an unlisted app and not a public App Store app, there are two good ways to resolve this.

Option 1: The Custom App Route (Easiest & Safest)
Since we don’t need public visibility, we can avoid Shopify’s strict review process entirely. We can set this up as a Custom App integration.

Merchants will just generate API credentials from their Shopify admin and give them to us.

We can still sync their products and push orders via API perfectly.

Shopify won’t review or care about your Stripe checkout at all.

Option 2: Appeal as a Marketplace Sales Channel
If you still want the smooth OAuth installation flow (where merchants just click ‘Install App’), we need to reply to the Shopify review team. We will explicitly clarify to them: “We are building an External Marketplace Channel where our platform acts as the Merchant of Record, which is fully supported under Shopify’s Sales Channel terms.”

If your platform allows many random merchants to sign up themselves, then Option 2 (Appeal) is better because it gives you a standard install button.

But if you only have a small number of selected merchants that you onboard manually, then Option 1 (Custom App) is the best and most hassle-free solution.
i hope this will help you .
Thanks!!!

Thanks for taking the time to respond! Yeah, option 2 is absolutely what we wanted to do. Sorry if this is an obvious question, but how can I do the appeal or even reply to the Shopify review team? I don’t really see any way of doing that from the partner portal. I just see an action to manage the submission, but there isn’t a way to contact or ask anyone anything.