The Pricing module is the
@medusajs/pricing NPM package that provides advanced pricing features in your Medusa and Node.js applications. It can be used to add prices to any resource, such as products or shipping options.
With the Product module, you can store the prices of a resource and manage them through the main interface method. Prices are grouped in a price set, allowing you to add more than one price for a resource based on different conditions, such as currency code.
Advanced Rule Engine
You can create custom rules and apply them to prices. This gives you more flexibility in how you condition prices, filter them, and ensure the best prices are retrieved for custom contexts.
Price lists allow you to group prices and apply them only in specific conditions. You can also use them to override existing prices for the specified conditions.
Price Calculation Strategy
The module’s main interface provides a
calculatePrices method to retrieve the best price for a given context. You can benefit from your custom rules here to find the best price for the specified rule values.
How to Use the Pricing Module
The Pricing Module can be used in many use cases, including:
- Medusa Backend: The Medusa backend uses the pricing module to implement some features. However, it's guarded by the experimental feature flag. If you want to use the pricing module in your backend's customizations, follow this installation guide.
- Serverless Application: Use the Pricing Module in a serverless application, such as a Next.js application, without having to manage a fully-fledged ecommerce system. You can use it by installing it in your Node.js project as an NPM package.
- Node.js Application: Use the Pricing Module in any Node.js application. Follow this guide to learn how to install it.
Learn about the main concepts in the Pricing module.