DEV Community

Cover image for Medusa’s New Feature: Order Editing
Sebastian Rindom for Medusa

Posted on • Originally published at


Medusa’s New Feature: Order Editing

Medusa is happy to announce Order Editing and Payment Collections as the latest additions to the Order API, strengthening one of the most critical parts of any commerce application. This is an essential step in our mission to deliver commerce building blocks that developers can use to create bespoke digital commerce experiences without reinventing core commerce functionality.

GitHub logo medusajs / medusa

The open-source Shopify alternative ⚡️



Documentation | Medusa Admin Demo | Website

An open source composable commerce engine built for developers

Medusa is released under the MIT license. Current CircleCI build status. PRs welcome! Product Hunt Discord Chat Follow @medusajs

Getting Started

Follow our quickstart guide to learn how to set up a Medusa server.


You can check out this documentation for details about setting up your environment.

What is Medusa

Medusa is an open source composable commerce engine built with Node.js. Medusa enables developers to build scalable and sophisticated commerce setups with low effort and great developer experience.

You can learn more about Medusa’s architecture in our documentation.


You can learn about all of the ecommerce features that Medusa provides in our documentation.


You can view our roadmap with features that are planned, started, and completed on the Roadmap discussion category.


Check out our available plugins that you can install and use instantly on your Medusa server.


Please check our contribution guide for details…

The Order Editing and Payment Collection features solve the problems faced when businesses need to change already placed orders. Systems that rely on order data, like fulfillment and accounting systems, will have to be updated, and payment discrepancies may arise. These updates and discrepancies often require error-prone, manual work.

Medusa’s new capabilities offer a simple and worry-free approach to creating order edits while giving your customers the best experience.

How Order Editing Works

The Order Edit flow consists of three simple steps:

  1. Select the changes you wish to make.
  2. Ask the customer to confirm your changes or, as an admin, force a confirmation.
  3. See the order edit merged into the order and continue managing your order as usual.

Editing orders in Medusa allows you to update, add and remove line items on already placed orders with a few easy steps.

Helpful timeline events ensure that you and your team have visibility to understand the order’s history and assist customers with questions about their orders.

To learn more about how we designed Medusa’s order editing capabilities, check out this article that dives deeper into the solution.

Give your customers confidence and peace of mind

The confirmation step is essential to the order editing flow and ensures that your customer is always in the loop about changes to their order. You can configure notifications that automatically inform customers that they must accept changes to their orders.

They can confirm their changes with simple steps and pay for potential shipping and total differences.

Customers can accept order edits to stay in the loop about changes to their order and pay for potential differences.

For businesses, Medusa’s extensible API also provides a new opportunity to upsell customers and highlight products.

New possibilities with great APIs

Everything we build at Medusa is deliberately designed to give a robust starting point while remaining open for customizations and extensions that can make Medusa truly your own. This is also the case for Order Editing and Payment Collections, where plugins and projects can now listen to a comprehensive set of new events that can act as triggers for automations and integrations.

Accounting and fulfillment plugins, for example, will be able to listen for changes to orders and update systems to ensure consistency throughout your stack. This eliminates manual work while giving your customers a fast and smooth experience.

// src/subscribers/my-subscriber.ts

eventBus.subscribe(OrderEditService.REQUESTED, async ({ id }) => {
  const analyticsData = await getTrackingData(id)
  analyticsProvider.track("Order Edit Requested", analyticsData)
Enter fullscreen mode Exit fullscreen mode

Finally, our Payment Collection API will soon expand to support broader use cases like re-authorizing expired payment authorizations and creating new payment experiences for your customers, like installments or deposit payments.

Try it out now

We are excited to see what unique new experiences and plugins will be built with the new Order Editing and Payment Collection capabilities.

Try it out now by upgrading to the latest version of Medusa:

yarn add @medusajs/medusa@latest
Enter fullscreen mode Exit fullscreen mode

Or start a new project:

yarn create medusa-app
Enter fullscreen mode Exit fullscreen mode

If you’re interested in learning more about this feature, check out this article which goes over how Git and GitHub inspired the design of the Order Editing capabilities.

You can also learn more about order editing in our documentation:

Top comments (0)

Visualizing Promises and Async/Await 🤓

async await

☝️ Check out this all-time classic DEV post on visualizing Promises and Async/Await 🤓