【发布时间】:2010-12-20 20:59:37
【问题描述】:
从这个问题here 开始,当用户去付款时,如何在购物车中保留产品?如果用户放弃购买并且没有返回您的网站,如果页面没有被重新加载,您将如何取消预订产品。就此而言,您首先将如何预订产品?我正在使用 php mysql 并使用 paypal 网络支付标准创建一个购物车。 谢谢
【问题讨论】:
标签: paypal
从这个问题here 开始,当用户去付款时,如何在购物车中保留产品?如果用户放弃购买并且没有返回您的网站,如果页面没有被重新加载,您将如何取消预订产品。就此而言,您首先将如何预订产品?我正在使用 php mysql 并使用 paypal 网络支付标准创建一个购物车。 谢谢
【问题讨论】:
标签: paypal
一个适合我们的干净解决方案是使用“内部订单”类型系统。产品表将保存产品详细信息以及手头的库存。当用户预订产品时,我们将其视为内部订单,因此在订单表中,您将拥有用户预订的商品以及预订的日期和时间。然后,您可以根据用户保留的单位数量减少产品表中的库存数量。
然后您可以每晚检查未转换为发票的内部订单,然后将其从数据库中删除,根据已保留但未开票的单位数量增加产品表中的库存数量.
如果使用最终完成购买,则该项目将简单地转换为发票。在某些情况下,我们对发票和订单使用同一个表,其中包含一个简单字段,用于指定记录是发票还是内部订单。
【讨论】:
我也需要这个答案,用 asp.net 和 MS Sql。问题是,您需要标记 SQL 记录以避免其他人同时保留该项目,但是如果第一个用户关闭浏览器,则无法在 sql 中取消保留该项目...
【讨论】:
您可以创建一个定期运行的 cron 作业,并检查是否有任何未及时支付的预留项目(例如,在预留后 24 小时内)。
【讨论】: