Let's say that I have created a cart with two items but I never check it out. One of my items in the cart expires after a month and you cannot enter that producrt page for example. I then come back six months later and enter the checkout page to checkout my cart. On that page the CartPrepare workflow is run. Shouldn't the workflow remove the expired item in the cart so my cart should only have one item left? Or do I have to check that manually? As for now I can still buy the item.
Episerver Commerce 10.5
Well, as far as I know the CartPrepare should remove items such as these, but is it something you would ever want? Magically remove items from the cart without notifying the customer? Imo the best solution is to not remove them, but prevent checking out and add a text over the lineitem explaining why it is not buyable anymore. Perhaps the customer adds something to the cart, and while they are loading the checkout page, the system has expired the product leading to the product not being on the checkout page nor anywhere to be found. Customer contacts support for buggy behvaiour... :)
CartValidate should remove the expired items (by default, if you don't change the implementation), and the Warnings should include the information why it's removed. Also for validation purpose, it should be used instead of CartPrepare (which calculates taxes and should be used before checking out)
Wa had some workflows modifications that had been working so far but after upgrade from 9 to 10 maybe the stopped? I looked at the latest workflow code and added that to our project and now we are back on again.
Could you mark a post as the answer then Kristoffer so this thread shows up as solved?