我目前正在建立一个基本的电子商务网站。过程如下:
View Basket -> Address Details -> Payment -> Thank you
该网站将使用会话来存储购物篮数据 - print_r()
的典型$_SESSION['products']
如下所示:
Array
(
[19] => Array
(
[quantity] => 2
[line_total] => 20
)
[11] => Array
(
[quantity] => 2
[line_total] => 50
)
)
此数组的数字索引是唯一的产品ID。我的问题如下:
1)假设用户要将一定数量的特定产品添加到他们的购物篮中。然后他们按原样离开屏幕一段时间。当他们回来时,他们按“继续” - 但是在此期间,产品库存减少并且他们要求的数量不可用。到目前为止会发生什么?
2)上述情况也可能发生在付款之前。如果不做客户不期望的事情,最好的办法是什么?
注意,我不打算为此系统构建“保留”功能。
答案 0 :(得分:1)
我在创建自己的系统之前遇到了这个问题。答案取决于你想做什么。
我的逻辑:
在您展示购物车的任何时候,您都应该进行库存检查,如果没有库存,则应删除项目并通知客户。
如果在付款完成期间该商品突然没有库存,您应该按上述方式进行操作,不要继续付款。
答案 1 :(得分:1)
您必须始终检查结账时的产品是否存在,还要检查价格,这也可能会发生变化。
每次用户重新进入页面时也会这样做。
除此之外,您还可以开发一个每隔一定时间运行的功能,以检查用户在页面中占用的时间过长。
答案 2 :(得分:0)
简而言之,您的流程应该更像这样:
查看购物篮 - >检查库存 - >通过?继续。失败?发送回View Basket并附上通知消息 - > 地址详情 - >检查库存 - >通过?继续。失败?发送回View Basket并附上通知消息 - > 付款 - >检查库存 - >通过?继续。失败?发送回View Basket并附上通知消息 - >库存通过:-1库存 - >尝试付款 - >通过?凉。失败? +1个广告资源,发回带有通知消息的View Basket - > 谢谢