购物车价格变动

Kev*_*erw 5 php asp.net ruby-on-rails

假设我有一台 600 美元的笔记本电脑。假设我将其更改为 650.00 美元。购物车如何处理这个问题?比如他们将价格存储在购物车还是商品中?他们如何确保获得他们想要的价格,但又不会在没有询问客户的情况下向客户收取新的变更费用?或者大多数人都将它们存储在两者中?

我想也许我可以将它存储在两个中。因此,如果当前价格高于某件商品的购物车价格,请勿将其从购物车中删除/向其收取费用。然后,告诉他们账单内容/通过电子邮件发送未更改的账单项目的收据(假设他们有不止一件项目)并将其从购物车中删除。对于确实发生变化的商品,请说“由于价格变化,商品留在购物车中,请检查您是否仍想以新价格购买商品”。因此,请将更改的商品保留在购物车中,但更新购物车中的价格。

这就是我关于如何做到这一点的想法。我认为语言并不重要。我猜这更像是一个逻辑类型的问题。大多数购物车都是这样做的还是有更好的方法?

the*_*gah 4

简单的购物车只是通过会话和 cookie 维护的产品数组。你可以做任何你想做的事。只需确保用户无法执行任何他们想要的操作,例如通过网址更改价格。但最重要的是让用户结账变得非常非常容易。

大多数开发人员都会创建一个包含产品对象的数组,因此如果对产品购物车进行任何更改都会反映此更改。但是,如果您更改价格,那么很明显,如果用户点击价格,然后您更改了价格,并且用户直到付款后才看到此更改,或者对为什么价格在购物体验中上涨感到困惑。

在维护订单项方面,如果您让用户在将商品添加到购物车之前先登录,那么您无需担心创建 cookie/会话来存储订单项数组,直到他们结账并完成订单项项目与其信息一起保存以供以后参考。

在这种情况下,您需要做的是创建一个与该对象关联的行项目,以便您可以获得所有产品信息,但同时将价格存储在该实际LineItem模型中,这样如果您更新价格,它就不会影响购物者的购买体验。

如果您因为改变主意并想要使用订单项模型而希望用户支付更高的价格,您可以执行上一段中所述的操作,并在用户决定结帐之前检查价格。如果不同,请告诉他们该产品现在的购买量为 x,并且不要忘记道歉。