I am facing a problem of price shown to buyer is different than the price what he finally pays.
Suppose we have a product p1 with price x
If a buyer add p1 to his shopping cart and checkout. On review page just before make payment, price shown to him is x, if at the same time administer changes price of p1 to y. Then user will pay y finally while he was expecting to pay x.

Comments

rszrama’s picture

Category: bug » support

Not really sure what to do about it; prices have to be updated at some point, and right now that includes the review page. So this is actually intended behavior, but perhaps an additional feature or additional code can be added to prevent the refresh on submission of the review page. The default behavior prevents intentional scamming even if it makes the sacrifice of unintentional price shifts.

basant’s picture

I agree with you, but i think in some way buyer needs to be informed about the price change before they pay. On submission of a review page we can add an extra condition to check whether the total price in line item(which was shown to user on review page) is same as the price stored in database. If yes then proceed further otherwise redirect buyer to review page with a message like recently price has been updated.

googletorp’s picture

I think you are over thinking this basant. It would be able to create a grand system that could do all sorts of checks and display messages to users etc, but in the end I have a hard time seeing how this would become a real world problem.

If you really want to make sure this doesn't happen, a simple solution is to create a new product instead of updating the existing one. That way users that has put the product with the old price in the basket will be able to buy the product at that price.

no2e’s picture

but in the end I have a hard time seeing how this would become a real world problem

Depends on the shop, I think.

When shopping at Amazon, it often happened to me that Amazon changes the price while I was still shopping or after I added the product to the cart (but before checkout).
In that case Amazon displayed a message (at the top of the cart) that informed me, that the price was lowered/increased after I added the product (and it changed to the new price).
I'm not sure what happens if the price changes while you are in the first checkout step. But I bet you'll get the "old" price.

rszrama’s picture

Priority: Major » Normal
Status: Active » Fixed

I actually think this can be handled through Rules, and I recommended as much to someone at DrupalCon London. The solution, if you really need to preserve and interact with the customer's original purchase price, is to add an additional field to your product line item type and set it to the customer's sell price. Then you can use later rules to make sure the customer always gets to use that price until you expire it or you can compare the recalculated price against the stored price and redirect to the product page w/ a message to confirm the price change. That could be quite disruptive, so I assume in most cases you'd just want to allow the customer to complete checkout at their current price and then expire the product prices in carts after a little while.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.