【发布时间】:2011-03-27 21:02:57
【问题描述】:
我目前正在 Zend 框架应用程序中实现 Paypal Express Checkout,我编写了自己的购物车模型,它由两个简单的类 Cart 和 CartItem 组成,它们能够设置数量、获取总价等。
我对支付系统不太了解,而且我只使用 Paypal(这是我的第一次),但我虽然无法控制那里发生的事情(在 Paypal),所以“在流程开始时锁定”购物车(重定向到贝宝时),以避免贝宝处理的当前订单与网站上的实际购物车不一致。
例如,如果用户在使用 paypal 进行付款时打开一个新标签并尝试添加产品,就会发生这种情况。
如果您的购物车被锁定,则用户无法在其购物车中添加或删除任何东西,直到他完成通过 paypal 处理付款或取消其订单。
我的问题是你认为这是一个好方法吗?
编辑:我没有在数据库中存储任何东西但只有会话中的购物车的原因是所有订单都使用Paypal存储,所以我不想存储两次,它是一个非常简单的系统。
【问题讨论】:
-
我总是将购物车作为订单添加到数据库中,然后再将其发送到任何支付网关,然后清空他们的购物篮。然后他们添加到购物车中的任何其他内容都将成为新订单。如果支付成功,那么我只需在订单记录上更改一个标志。
标签: php zend-framework paypal shopping-cart payment-processing