docs: update recipe contents (#12515)

This commit is contained in:
Shahed Nasser
2025-05-16 16:37:52 +03:00
committed by GitHub
parent 399dddc0c7
commit d73cf66196
15 changed files with 16168 additions and 15896 deletions
+23 -17
View File
@@ -13,7 +13,7 @@ This recipe provides an overview of Medusa's features and how to use it as an Or
Building or integrating an OMS brings certain challenges: accepting orders from different sales channels, tracking inventory across the sales channels, integrating third-party fulfillment and payment providers with the OMS, and more.
Medusa's Commerce Modules and customization toolkit lets you integrate it within a larger ecosystem. The Commerce Modules provide features to allow businesses to accept orders from any sales channel, benefit from multi-warehouse inventory features, and integrate third-party services for fulfillment, payment, and more.
Medusa's Commerce Modules and [Framework](!docs!/learn/fundamentals/framework) for customizations allows you to integrate it within a larger ecosystem. The Commerce Modules provide features to allow businesses to accept orders from any sales channel, benefit from multi-warehouse inventory features, and integrate third-party services for fulfillment, payment, and more.
<Note title="Related use-case">
@@ -62,13 +62,13 @@ For example, you can support importing orders into Medusa through a custom API R
## Route Orders to Third-party Fulfillment Services
To integrate third-party fulfillment providers with the Medusa application, create a fulfillment module provider.
To integrate third-party fulfillment providers with the Medusa application, you can create a fulfillment module provider.
Medusa uses the Fulfillment Module whenever a fulfillment action is performed, such as when a fulfillment is created for items in an order. The module's main service's methods use the associated fulfillment module provider to handle the desired fulfillment actions.
Medusa uses the Fulfillment Module whenever a fulfillment action is performed, such as when a fulfillment is created for items in an order. The methods of the module's main service use the associated fulfillment module provider to handle the desired fulfillment actions.
![Fulfilling orders with Medusa OMS](https://res.cloudinary.com/dza7lstvk/image/upload/v1709032184/Medusa%20Book/oms-fulfillment_qfrpdd.jpg)
In addition, create a subscriber that listen to fulfillment-related events, such as the `order.fulfillment_created` event, to perform actions with the third-party fulfillment provider.
In addition, you can create a subscriber that listens to fulfillment-related events, such as the `order.fulfillment_created` event, to perform actions with the third-party fulfillment provider.
<CardList itemsPerRow={2} items={[
{
@@ -97,9 +97,9 @@ In addition, create a subscriber that listen to fulfillment-related events, such
## Process Payment with Third-Party Providers
To integrate third-party payment providers with the Medusa application, create a payment module provider.
To integrate third-party payment providers with the Medusa application, you can create a payment module provider. Customers can pay for their orders using this providers, and admins can process order payments using it.
In addition, create a subscriber that listen to payment-related events, such as the `payment.captured` event, to perform actions in the third-party payment provider.
In addition, you can create a subscriber that listen to payment-related events, such as the `payment.captured` event, to perform actions in the third-party payment provider.
<CardList itemsPerRow={2} items={[
{
@@ -130,7 +130,9 @@ In addition, create a subscriber that listen to payment-related events, such as
Medusa's Inventory, Stock Location, and Sales Channel modules allow merchants to track inventory levels tied to sales channels across stock locations.
When an order is placed, the item's quantity is reserved from the stock location associated with the order's sales channel. Once the item is fulfilled, the reserved quantity is deducted from the item's inventory quantity.
When an order is placed, the item's quantity is reserved from the stock location associated with the order's sales channel.
Once the item is fulfilled, the reserved quantity is deducted from the item's inventory quantity.
<CardList items={[
{
@@ -159,11 +161,11 @@ When an order is placed, the item's quantity is reserved from the stock location
## Handle Returns, Exchanges, and Changes
In Medusa, items in an order can be returned or exchanged. A merchant can also edit an order to add, update, or delete items.
Customers can return or exchaneg items in an order. A merchant can also edit an order to add, update, or delete items.
When changes are made to an order by any of the mentioned actions, the changes are reflected on the order's totals and associated inventory. The integrated fulfillment and payment module providers are used if fulfillment or payment actions are required, such as fulfilling exchanged items.
Medusa also emits events related to these actions, such as `order.return_requested`. So, you can create a subscriber that listens to these events and perform asynchronous actions, such as communicating with third-party services.
Medusa also emits events related to these actions, such as `order.return_requested`. So, you can build a workflow that performs actions with the third-party fulfillment and payment providers, then execute it in a subscriber that's triggered whenever the event is emitted.
<CardList items={[
{
@@ -178,12 +180,16 @@ Medusa also emits events related to these actions, such as `order.return_request
text: "Learn about the events emitted related to the Order Module",
icon: AcademicCapSolid,
},
{
href: "!docs!/learn/fundamentals/workflows",
title: "Create a Workflow",
text: "Learn how to create a workflow.",
icon: AcademicCapSolid,
},
{
href: "!docs!/learn/fundamentals/events-and-subscribers",
title: "Create a Subscriber",
text: "Learn about create a subscriber",
icon: AcademicCapSolid,
}
]} />
<Card
href="!docs!/learn/fundamentals/events-and-subscribers"
title="Create a Subscriber"
text="Learn about create a subscriber"
icon={AcademicCapSolid}
className="mt-1"
/>