Shopify Migration & Stripe: Unpacking Your Custom B2B Workflows in a Walled Garden
Hey everyone! I recently saw a really interesting discussion pop up in the Shopify community, and it's a classic dilemma that many growing businesses face when considering a move to Shopify: how do you handle deeply integrated, custom Stripe workflows when Shopify really wants you to use Shopify Payments?
The conversation, started by Andrew_Mayhall, perfectly encapsulated this challenge. Andrew's business, running for 8+ years on Squarespace, had built its entire B2B and reseller operations around a custom Stripe account. With two full-time developers and about $1M in DTC revenue, their reliance on Stripe's direct API access and custom tooling was non-negotiable. But when they looked at Shopify, they hit a roadblock: Shopify Payments. While Shopify Payments is powered by Stripe under the hood, it doesn't give merchants the same direct control, dashboard access, payment_intent IDs, or webhooks that a direct Stripe account offers. Andrew felt like he was facing a "walled garden," and frankly, it's a sentiment I hear often.
The "Walled Garden" Reality Check: Shopify Payments vs. Your Stripe
Andrew's experience trying to get an exception from Shopify support isn't uncommon. As one community member, Hasidop, pointed out, "You’re not doing anything wrong, Shopify just won’t allow external gateways in native checkout, no matter your history." This is especially true for US-based stores on standard plans. Shopify's preference for Shopify Payments is strong, and it comes with implications for businesses with complex, existing payment logic.
The core issue isn't that Shopify Payments is bad; it's that it abstracts away the direct Stripe control that businesses like Andrew's have come to rely on for their custom APIs and workflows. If your current reseller tooling keys off Stripe events directly, you're going to need a new strategy.
Navigating Your Options: Paths for Stripe-Dependent Migrations
The community discussion highlighted a few viable paths, each with its own trade-offs, depending on your business size and what's truly non-negotiable for you.
Path 1: The Split Processor Strategy
This is often the cleanest initial approach. Lumine, another helpful community member, suggested: "Keep Shopify DTC on Shopify Payments, keep B2B and resellers on your current Stripe account."
- How it works: Your direct-to-consumer sales go through Shopify Payments, leveraging its seamless integration with Shopify's checkout. Your existing B2B and reseller operations, which rely on your custom Stripe tooling, continue to run on your standalone Stripe account.
- Pros: You maintain full control over your critical B2B workflows without rebuilding. It's often less disruptive.
- Cons: You lose some reporting unification, as your payment data lives in two separate systems.
This path makes particular sense if your B2B flow isn't going through the Shopify checkout anyway, or if your custom B2B tools are robust enough to operate independently.
Path 2: Embracing Shopify Plus and its B2B Power
Andrew mentioned they were already looking at Shopify Plus, and this is where a lot of the magic can happen for B2B needs. Lumine brought up some fantastic points about Shopify Plus's native B2B features:
- Native B2B Features: Shopify Plus offers robust features like
Catalogs,Price Lists(for custom pricing),MOQ(Minimum Order Quantity) at the variant level,net terms(Net 15/30/60 without upfront card), and quantity rules. It also handlesCompanies,locations, andassigned buyers, which often form the core of custom B2B tooling. - DTC & B2B Graduation Flow: Shopify Plus allows for a "graduation flow" where a customer can have the same record across DTC and B2B contexts. You can tag customers or attach them to a
Company, and they'll see DTC pricing or catalog pricing depending on the storefront.Shopify Flowcan even automate tagging based on LTV or order count thresholds. - Checkout Extensibility: For anything truly needing Stripe-direct (like metered billing or mid-cycle adjustments), Shopify Plus's
checkout extensibilitycan be a game-changer. It allows for more customization within the checkout flow, potentially enabling you to pass metadata back to a separate Stripe flow, without needing a fullStripe Connectsetup.
This approach means leaning into Shopify's ecosystem to replicate and even enhance your existing custom B2B tooling, rather than trying to force your old tools into a new platform. Andrew himself noted the appeal of Shopify for custom user pricing, MOQ, and terms, which aligns perfectly with Plus's capabilities.
Path 3: Third-Party Gateway on Shopify Plus
While Shopify strongly pushes Shopify Payments, using a third-party gateway is technically an option, but it comes with significant cost implications on standard plans. Lumine broke down the math:
- Transaction Fees: On standard Shopify plans, using a non-Shopify Payments gateway incurs a 2% transaction fee. For Andrew's $1M revenue, that's $20,000 annually.
- Shopify Plus Advantage: On Plus, this fee drops dramatically to 0.15%. At $1M, that's just $1,500 annually. This makes a third-party gateway (like
Authorize.netrelay, or Stripe if you're outside the US and it's available as a third-party option) much more feasible financially.
Shopify Plus also offers checkout.liquid and checkout extensibility, which are crucial for passing metadata back to your Stripe flow if you go this route. However, remember the hidden cost...
The Webhook Challenge: A Necessary Translation Layer
Regardless of whether you use Shopify Payments or a third-party gateway on Shopify, there's a critical point to remember, even on Plus: "...the checkout emits Shopify order webhooks, not Stripe payment webhooks." If your existing reseller tooling keys off Stripe events directly (e.g., `payment_intent.succeeded`), you will need a translation layer. This means building something that listens to Shopify's order webhooks and then either fetches the corresponding payment details from Shopify's API or triggers your custom Stripe logic based on that order information.
Andrew's frustration with the "esoteric roadblocks" is completely understandable. Moving a business with deep custom integrations is never simple. The community discussion really highlighted that while Shopify has a strong preference, there are strategic paths forward. It boils down to weighing what's most important: retaining absolute direct Stripe control (which likely means custom checkout outside Shopify's native flow), or leveraging Shopify Plus's powerful B2B features to replace some of your custom tooling, even if it means adapting to Shopify's payment ecosystem. It's about finding the right balance between platform benefits and preserving your essential business logic, and sometimes, that means some gritty custom development work to bridge the gap.