【发布时间】:2014-11-03 17:41:41
【问题描述】:
我正在努力集成第 3 方结帐,并发现了一个需要帮助关闭的安全漏洞。基本上结帐流程是这样的:
如果满足某些条件,当客户点击“结帐”时,他们在购物车中的商品会被删除,并被重定向到第三方网站。
他们填写客户信息和付款信息
付款已处理
付款确认后,会被重定向回商家网站
使用当前购物车中的商品以编程方式处理订单,客户收到确认
大家都很开心
如果有人在第 2-4 步期间随时编辑购物车,就会出现问题,Magento 认为新的购物车内容就是他们所支付的。
我对 magento 如何保存报价不是很熟悉,但我希望有一个“购物车 ID”或类似的东西,它代表具有特定内容的特定购物车,并且在添加某些内容时会发生变化/在购物车中删除/编辑。然后我可以比较他们离开时的号码和他们回来时的号码,确保没有欺诈。
所以我的问题是:
-有这样的数字吗?
-它存储在哪里以及如何检索?
-是否可以简单地根据数字加载,以便在将商品重定向到第三方时重新填充购物车?
-如果我的计划行不通,为什么?有更好的方法吗?
-你最喜欢的不是来自你祖国的食物是什么。我的是菲律宾的 Pork Sinagang。
感谢各位的帮助。如果没有这里的答案,我将无法完成这一切。
-马特
编辑: 一些澄清 -
客户点击“查看购物车”或类似的按钮来查看购物车(如果他们转而去结账,如果他们的 geoIP 是国际的,他们会被重定向回购物车)
-
他们可以查看购物车中的商品,然后点击结帐
2a。如果他们的 geoIP 是国内的,他们会去商家的结账处
2b。如果他们的 geoIP 是国际的,那么 jQuery 会抓取项目详细信息并将它们发送到托管结帐。这就是我想“冻结”购物车中的物品,或者获取一个 ID 号,让我在返回时检查购物车是否相同。
订单在他们使用的任何结账时都得到确认,并且他们被定向到成功的控制器。
这个过程是在我开始为他们开发之前确定的,无论出于何种原因,他们都不想改变它。
【问题讨论】: