A Payload Ecommerce Alternative for Next.js
Payload's ecommerce plugin covers products, carts and Stripe. This is where it stops, what Cmssy ships instead, and where Payload is the better choice.
Who This Page Is For
If you are building a Next.js store on Payload, you chose it for good reasons. It is open source, it runs inside your Next.js app, and your data sits in your own database. Its ecommerce plugin adds the store. This page is for the point where the plugin stops and your backlog starts.
What Payload's Ecommerce Plugin Covers
Payload's docs say the plugin "is currently in Beta and may have breaking changes in future releases". It ships:
- products with variants
- carts, orders and transactions
- addresses linked to your customers
- a payment adapter pattern - Stripe is the adapter available today
- multiple currencies
- inventory tracking, on by default
- React utilities for the frontend
The docs also say the plugin "does not handle shipping, taxes or subscriptions natively" - you build those yourself with its collections and hooks. Discount codes are not in the plugin docs. In Payload's own RFC for the plugin (GitHub discussion #14239), discount codes are called "quite a common request", and commenters single out shipping as well.
What Cmssy Ships
Cmssy is a hosted headless CMS with commerce in the core. Products are records of a model you define, and the model's Product tab says which fields play name, price, SKU, tax rate, inventory and the variant axes.
- Discounts - percentage, fixed-amount and free-shipping codes, with start and end dates, a minimum subtotal and a total usage cap.
- Shipping - methods with rules per country, a subtotal window and a free-above threshold. The cart returns only the methods that apply to the address and subtotal.
- Tax - tax rates you set, prices with or without tax, and totals computed on the server.
- Stock - "available" means on hand minus what open carts reserve, with a low-stock threshold your storefront can filter on.
- Order desk - manual orders and line edits, partial payments and partial refunds, cancellation, fulfillment states, invoices, a configurable pipeline and ten
order.*webhooks. - Customers - accounts with suspension, B2B companies, price tiers, quote requests and PO numbers at checkout.
Your app renders all of it - Cmssy does not host your site. The SDKs cover Next.js, React, Astro and Remix, or you call the GraphQL delivery API directly.
The Agent Part
Payload has an official MCP plugin too, so "has MCP" is not the difference. Payload's plugin exposes collections as find, create, update and delete tools, plus prompts, tools and resources you write yourself. Cmssy's MCP server ships store verbs out of the box: refund_order, transition_order_fulfillment, create_discount, edit_order.
Refunds, order cancellations and page deletes do not run on the first call. The server answers with a one-line summary and a one-time reference, and acts only when the call is repeated with that reference after a human approves. The same tools run in the admin's built-in assistant on a model key you bring - Anthropic, OpenAI, Google, Mistral or Groq. The MCP server and the assistant are on every plan; cart and checkout start at Pro.
Where Payload Is Better
- Open source (MIT) and self-hosted - your database, your servers, no vendor between you and your data. The Cmssy service is closed source and hosted only; the SDKs and the MCP server are MIT.
- One deploy - Payload lives inside your Next.js app. Cmssy is a separate service your app calls.
- Multiple currencies - Cmssy prices a cart in one currency and does not do regions. Selling in two currencies means one product source per currency.
- Payments wired in - Payload ships a Stripe adapter. Cmssy records payments and never holds a payment key, so you integrate Stripe yourself. Our next-storefront example does it with one webhook route.
- Admin customisation - you extend Payload's admin with your own React components. Cmssy's admin is opinionated.
- Cost at zero revenue - Payload is free to run on your own hosting. Cmssy's cart needs Pro at $15/month ($12.50/month billed annually); the free Hobby plan has no cart.
Comparison
| Feature | Cmssy | Payload ecommerce plugin |
|---|---|---|
| Hosting | Hosted service | Self-hosted, inside your Next.js app |
| License | Closed service, MIT SDKs | MIT |
| Products and variants | Yes | Yes |
| Discount codes | Built in | Not in the plugin docs |
| Shipping rules | Built in | Build it yourself |
| Tax | Tax rates, server-side totals | Build it yourself |
| Currencies | One per cart | Multiple |
| Payments | You integrate, Cmssy records | Stripe adapter |
| Agent tools over MCP | Store verbs, confirmation on destructive calls | Collection CRUD plus your own tools |
| Price to sell | Pro, $15/mo | Free to run on your hosting |
Which One to Pick
Pick Payload if you want everything in your own repo and database, sell in several currencies, or are happy to build shipping, tax and discounts yourself.
Pick Cmssy if you want those built and maintained for you and run a single-currency store - and if you want an agent, on your own key, to handle discounts, fulfillment and refunds, with a human approval on the ones you cannot undo.
Try It Without an Account
The storefronts at cmssy.com/demos all read one demo workspace. Or clone github.com/cmssy-io/examples, copy .env.example to .env.local and run pnpm dev - each example renders the public demo workspace with no signup.
Payload details checked 13 October 2026 against payloadcms.com/docs - verify before you decide.
Next Steps
- Read how commerce works in Cmssy
- Set up the MCP server and see its confirmation step
- Try the in-admin AI assistant
- Compare Cmssy and Shopify for headless Next.js stores