Architecture

Multi-Vendor Marketplace on Magento: Architecture Decisions

14 min read·228 words
Multi-Vendor Marketplace on Magento: Architecture Decisions

Turning Magento into a marketplace requires solving vendor onboarding, product attribution, split payments, and per-vendor shipping rules. Here's our architecture playbook.

Building a marketplace on Magento — where multiple vendors sell through a single storefront — is one of the most complex Magento projects. It touches every part of the system: catalog, checkout, payments, fulfillment, and reporting. Here's our architecture playbook from two marketplace implementations.

Core Marketplace Challenges

  • Product attribution: which vendor owns each product, and can multiple vendors sell the same SKU?
  • Order splitting: orders with products from multiple vendors must split into per-vendor sub-orders
  • Split payments: collect payment from buyer, distribute to vendors minus platform commission
  • Per-vendor shipping: each vendor has their own carriers, rates, and fulfillment rules
  • Vendor admin: each vendor needs a restricted admin view of their own products and orders

Build vs. Buy

Third-party marketplace extensions (Webkul, Cedcommerce, Mirakl connector) can save 3-6 months of development. Evaluate them carefully: check their track record, read their code, and test their extension compatibility with your other modules. For custom marketplace requirements (unique commission structures, complex vendor tiers), custom development is often faster than bending an extension to fit.

Payment Split Architecture

Use Stripe Connect or PayPal Marketplace Payments for split payments — these APIs are designed for exactly this use case. The customer pays the platform; the platform automatically routes the vendor's share to their connected account. This approach handles the regulatory compliance complexity (KYC, money transmission) through the payment processor rather than building it yourself.

#magento#ecommerce#adobe-commerce#architecture#headless-commerce#graphql#api-design#pwa