BuildWithMatija
Get In Touch
  1. Home
  2. Blog
  3. Payload
  4. Payload vs Medusa: Presentation vs Process Explained

Payload vs Medusa: Presentation vs Process Explained

Why Payload centers on content and presentation, while Medusa focuses on process, workflows, and events in commerce.

21st April 2026·Updated on:3rd April 2026·MŽMatija Žiberna·
Payload
Early Access

You are viewing this article before its public release.

This goes live on April 21, 2026 at 6:00 AM.

Payload vs Medusa: Presentation vs Process Explained

Need Help Making the Switch?

Moving to Next.js and Payload CMS? I offer advisory support on an hourly basis.

Book Hourly Advisory

The Real Difference Between Payload and Medusa Is Not Workflows

The first thing that stood out to me when reading Medusa's documentation was how central workflows seemed to be.

I already knew Payload had workflows too. But in Payload, I never thought of them as the defining primitive of the system. In Medusa, workflows felt much closer to the center. The docs, the extension model, and the overall architecture keep pointing back to the same pattern: break business logic into explicit steps, orchestrate the flow clearly, and let the framework handle reliability concerns like retries, hooks, and rollback. Payload also supports Tasks, Jobs, Queues, and Workflows, where a workflow combines multiple tasks and can resume from the point of failure. Medusa, meanwhile, documents workflows as a core way to build commerce features with step-level rollback and data consistency.

That difference in emphasis is what caught my attention.

At first, it almost looked like the key distinction between the two platforms. But once I stepped back, the more interesting realization was that workflows are not the real dividing line at all. Both systems have them. The real difference is what each platform treats as the center of the application.

Where Payload starts

Payload starts from managed data.

Its docs describe Payload as a config-based, code-first CMS and application framework built around a small set of core concepts such as collections, globals, and fields. Collections are groups of documents that share a schema, and those configs automatically generate Local API, REST API, and GraphQL API surfaces. Globals cover singleton-style content. Fields define the stored document shape and generate corresponding admin UI. That makes the default Payload mental model very clear: you are usually starting by shaping data that editors or operators will manage through the admin.

That center of gravity matters more than a feature checklist does.

Once a framework begins with documents, schemas, and admin-managed entities, a lot of other features make sense around that core. Payload's Blocks field is explicitly designed for flexible, editor-friendly content composition. Drafts and preview environments are built around collection documents and globals. Live Preview works by rendering your frontend inside an iframe and sending document changes over window.postMessage, with first-class guidance for Next.js App Router setups. Payload also positions itself very tightly with Next.js, including one-line installation into an existing Next.js app and an admin panel built with the Next.js App Router.

That is why Payload feels so natural in content-heavy applications.

Even when you use it for more than content, its strongest instincts are still around structured data, editorial workflows, admin usability, and presentation. Hooks in Payload are described as side effects during specific moments in the document lifecycle, and the context object exists to share data across hooks within a single request lifecycle. Jobs and workflows extend that model into durable background work, but the foundation still feels document-centric.

Where Medusa starts

Medusa starts from commerce operations.

Its docs describe Medusa as a headless commerce platform and a digital commerce platform with a built-in framework for customizations. In a standard Medusa application, the core app includes a Node.js server and an admin dashboard, while storefronts are separate applications that consume Medusa's Store API and custom routes. That already tells you something important: Medusa is not trying to be the place where content and page rendering live by default. It is trying to be the place where commerce behavior lives.

That is why the recurring Medusa concepts feel different.

The platform keeps guiding you toward modules, workflows, hooks inside workflows, API routes, admin extensions, and domain-specific integrations. Modules give custom business domains an explicit home. Workflows orchestrate logic across those domains with rollback and consistency guarantees. Storefronts stay separate so the commerce engine is not confused with the frontend. Even Medusa's documentation home page presents its core extension seams in that language: create API routes, build workflows, add data models, build modules, link models, subscribe to events, customize admin.

So while both Payload and Medusa are extensible TypeScript systems, they are not extending from the same center.

Payload extends outward from managed data and presentation.

Medusa extends outward from commerce domains and operational flows.

The turning point for me was events and subscribers

The place where the difference became much clearer was not workflows.

It was events and subscribers.

Medusa has a first-class event system where commerce operations emit events and subscribers react asynchronously. The docs explicitly describe this model for things like sending order confirmation emails or syncing to third-party systems after core commerce actions happen. Medusa also exposes an Event Module as part of its infrastructure architecture, and notes that the default local implementation is suitable for development while production setups typically use another event module such as Redis. That makes event-driven decoupling a native part of how Medusa expects serious commerce behavior to evolve.

Payload's primitives are different.

Payload has hooks, request context, and a jobs system for durable or scheduled background work. That is powerful, and it can absolutely support complex application behavior. But it does not present a first-class backend event-and-subscriber architecture in the same way. Its documented default pattern is closer to document lifecycle hooks triggering follow-up logic, optionally pushing expensive or multi-step work into jobs and workflows.

That difference explains a lot about the feel of the two systems.

In Payload, the natural question is often, "Which collection or global owns this data, and which hooks should run around it?"

In Medusa, the natural question is more often, "Which domain owns this behavior, which workflow orchestrates it, and which subscriber reacts after it happens?"

Why this matters more than feature overlap

At the feature level, the overlap is real.

Payload can do ecommerce. It has an official Ecommerce Plugin with products, orders, and payments, and it currently supports Stripe. But the docs also state clearly that the plugin is still in beta and may have breaking changes in future releases. Medusa, by contrast, is built and documented as a commerce platform first, not as a CMS that added commerce later.

If you only compare the existence of features, it is easy to conclude that the two platforms are converging into the same thing.

I do not think that is the right conclusion.

A plugin can add commerce features to Payload, but it does not change the underlying center of gravity. The Payload experience still begins with schema-managed content, generated admin surfaces, preview, and presentation-friendly content structures. Medusa can be heavily customized, but that does not change the fact that it is natively organized around commerce modules, workflows, and operational events.

That is why the systems can overlap without feeling interchangeable.

A better way to frame the comparison

I already wrote one piece focused on the practical buying decision, Payload CMS ecommerce plugin vs Medusa, which is really about how much commerce engine your project needs.

I also wrote a separate piece, Medusa architecture explained: developer's guide, about the moment Medusa's architecture clicked for me while building a real feature across modules, workflows, routes, and admin extensions.

This article sits somewhere else.

It is not mainly about choosing a stack by feature matrix, and it is not mainly about how Medusa works internally once you are already building on it.

It is about the underlying worldview of each platform.

Payload wants to help you model, manage, preview, and present structured data.

Medusa wants to help you coordinate commerce behavior across domains and time.

That is the distinction that made the rest of the comparison make sense for me.

So what is the real difference?

The cleanest way I can put it now is this:

Payload is presentation-centric. Medusa is process-centric.

That is not a slogan. It is a practical architectural difference.

Payload is strongest when the center of the product is content, editorial control, admin-managed data, page composition, preview, and a close relationship to the frontend, especially in Next.js environments. Medusa is strongest when the center of the product is commerce logic itself: orders, pricing, inventory, fulfillment, operational side effects, and the business processes that connect them.

Both can stretch beyond those centers.

Payload can go deeper into application logic and commerce. Medusa can work alongside rich storefronts and content systems. But after spending time in both ecosystems, I do not think the real question is whether one can imitate enough of the other.

The better question is what kind of system you want to be living inside six months from now.

If your hardest problem is content and presentation, Payload will usually feel more natural.

If your hardest problem is commerce behavior and operational flow, Medusa will usually feel more natural.

Conclusion

The thing that first grabbed my attention in Medusa was workflows.

The thing that actually clarified the comparison was realizing that workflows are not the point.

Both Payload and Medusa have ways to model durable multi-step backend logic. What separates them is what the rest of the platform is built around.

Payload is built around managed documents, admin-configured schemas, and presentation-oriented workflows.

Medusa is built around commerce domains, explicit orchestration, and event-driven operational behavior.

Once I saw that, the comparison stopped being confusing.

It also stopped being about who has the bigger checklist.

It became a much simpler question:

What is your application really centered on?


If you want, I can also turn this into a tighter SEO-ready version with a proposed title tag, meta description, H2 structure, and intro variations.

📚 Comprehensive Payload CMS Guides

Detailed Payload guides with field configuration examples, custom components, and workflow optimization tips to speed up your CMS development process.

No spam. Unsubscribe anytime.

📄View markdown version
0
Matija Žiberna
Matija Žiberna
Full-stack developer, co-founder

I'm Matija Žiberna, a self-taught full-stack developer and co-founder passionate about building products, writing clean code, and figuring out how to turn ideas into businesses. I write about web development with Next.js, lessons from entrepreneurship, and the journey of learning by doing. My goal is to provide value through code—whether it's through tools, content, or real-world software.

Table of Contents

  • The Real Difference Between Payload and Medusa Is Not Workflows
  • Where Payload starts
  • Where Medusa starts
  • The turning point for me was events and subscribers
  • Why this matters more than feature overlap
  • A better way to frame the comparison
  • So what is the real difference?
  • Conclusion
On this page:
  • The Real Difference Between Payload and Medusa Is Not Workflows
  • Where Payload starts
  • Where Medusa starts
  • The turning point for me was events and subscribers
  • Why this matters more than feature overlap
Build With Matija Logo

Build with Matija

Matija Žiberna

I turn scattered business knowledge into one usable system. End-to-end system architecture, AI integration, and development.

Quick Links

Case Studies
  • Other Projects
  • How I Work
  • Blog
  • RSS Feed
  • Services

    • B2B Website Development
    • Bespoke AI Applications
    • Advisory

    Payload

    • B2B Website Development
    • Payload CMS Developer
    • Audit
    • Migration
    • Pricing
    • Payload vs Sanity
    • Payload vs WordPress
    • Payload vs Strapi
    • Payload vs Contentful

    Industries

    • Manufacturing
    • Construction

    Get in Touch

    Have a project in mind? Let's discuss how we can help your business grow.

    Book a discovery callContact me →
    © 2026BuildWithMatija•Principal-led system architecture•All rights reserved

    Comments

    Leave a Comment

    Your email will not be published

    Stay updated! Get our weekly digest with the latest learnings on NextJS, React, AI, and web development tips delivered straight to your inbox.

    10-2000 characters

    • Comments are automatically approved and will appear immediately

    • Your name and email will be saved for future comments

    • Be respectful and constructive in your feedback

    • No spam, self-promotion, or off-topic content

    No comments yet

    Be the first to share your thoughts on this post!