Replies: 4 comments 2 replies
-
I agree with you in questioning why dynamic pricing for customizable products hasn’t been implemented in most ecommerce platforms yet. However, there are valid reasons for this. Fixed pricing simplifies the system in terms of calculations and reduces the complexity of any formulas that might need to run during the process. Implementing dynamic pricing could introduce complex logic that might not suit every use case, whereas fixed prices work for the vast majority of scenarios, possibly 95% of them. As a software architect, I can tell you that introducing dynamic pricing comes with potential risks related to data management and performance. The more dynamic the system, the greater the chance for data or performance issues, especially when dealing with a large volume of transactions. One of the things I appreciate about Medusa is its flexibility. I’m currently working on a system using Medusa as a headless backend, and your discussion brought an interesting point to my attention. Right now, I handle these kinds of “custom” products as manual products by not sending the variant ID during checkout but instead sending the line item data manually. This approach works, but it means the custom item isn’t treated as a true product within the system—just as a custom line item in the order. I believe Medusa provides enough resources to allow for deep customization. You can create custom pricing logic, custom product configurations, and even custom API endpoints to extend Medusa’s functionality and apply dynamic pricing logic. Of course, it’s worth considering whether this might affect other modules or components, but Medusa’s modular architecture is designed to handle such extensions. It’s an interesting question, and I’ll definitely revisit this approach when I implement something similar on my end. |
Beta Was this translation helpful? Give feedback.
-
hi @burtondev - my company handled similar use case commercially. It is possible in Medusa but requires some implementation on the backend and (in some cases) in storefront. |
Beta Was this translation helpful? Give feedback.
-
Easiest way would be to create a new product with custom Metadata in it. |
Beta Was this translation helpful? Give feedback.
-
I made a similar post a while ago and received some feedback, but I haven't fully resolved the issue yet. I paused development while waiting for V2 to see what it would bring. Discussion link @radoslaw-sz, could you share more context on how your company approaches this? I'm considering implementing the following approach:
I'm hoping this will at least get me to the point of adding the line item. I haven’t yet thought through how to handle editing line items, and I’m sure there are other aspects I may have overlooked. Pros:
Cons:
|
Beta Was this translation helpful? Give feedback.
-
The typical use case scenario is made-to-measure custom blinds, where the customer measures their windows and enters the data, and the price they pay for these customized blinds is then calculated based on the dimensions given. Variant-based fixed pricing is not an option, as this easily adds up to billions or even trillions of product variants.
Please see Case Study: The Bespoke Product Builder That Manages Complex Made-to-Measure Pricing Requirements on Shopify Plus for a case study of how an agency solved this problem on Shopify. They made an app that generates each custom product on-demand as a completely bespoke product. Otherwise they would have had 744 billion product variants.
Generating a new product for each order seems like a "hacky" way to do things. Since they are not true "variants" but customizations made by individual customers, these auto-generated products will have to be hidden from product collections, search engines, etc. or deleted.
Does Medusa.js support calculating prices for customizable products on-demand, without using variant-based fixed pricing (which produces billions of variants) and without generating a new product each time (hacky)?
I looked at the Personalized Products "recipe" in the docs and also pricing lists, rules, etc. but I don't think they fit the use case.
I can't find an ecommerce platform that does this out of the box and I don't understand why. With print-on-demand, it's now possible to offer the customer more customizable products, but the ecommerce platforms are holding back. Am I overlooking something? Are there security or legal reasons why this isn't done? I'm at a loss.
Can Medusa.js do this? If so, where do I start?
If it's not supported, are there plans to support it in the near future?
Otherwise, can I either extend Medusa to do this, or to do the "hack" (i.e. set up customizable "products" on the front-end to generate products on the back-end when they are "added to cart"??)
Beta Was this translation helpful? Give feedback.
All reactions