php – 创建订购和结账系统,防止在付款期间更换购物车

所以我有一个分页结账系统,它依赖于会话来存储购物车的内容.我还使用第三方系统处理信用卡,信用卡托管服务器上的实际付款页面.我只需要在页面上发布最终总数.

我预见到的问题是,如果有人点击进入托管付费页面,然后由于某些合法或恶意的原因更改了另一个标签中的购物车内容.我最初计划当托管付费页面重定向回我的收据页面时,我会将订单插入我的数据库.但是,如果会话在此时更改,则订单将与收取的总费用不同.

什么是这个问题的解决方案.我可以看到这种事情对所有购物车系统都是一个问题,所以我想知道他们是如何做到这一点的.

也许当用户点击按钮转到托管付费页面时,我可以在数据库的temp_order表中创建一个临时订单条目,然后当付款通过时,我可以将该临时记录转移到永久记录表中?这样我就不会从已更改的会话信息中插入记录.但是,如果我必须POST到托管付费页面,我在哪里可以将购物车保存到临时表?

此外,临时订单ID在临时表和永久表中必须是唯一的,因为我不希望任何重叠.

最后,我应该经常清除临时订单表,因为它们只是临时记录.有些人可能无法通过,因为用户可以在托管付费页面上改变主意.

我真的很困惑我应该做什么!

解决方法

我认为没有必要创建一个单独的表.只需在现有表中添加一列,例如payment_in_progress,并在客户提交对购物车的任何更改时进行分析.

清除未处理的过期订单的要求仍然存在

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...