【问题标题】:Cart ID in MagentoMagento 中的购物车 ID
【发布时间】:2014-11-03 17:41:41
【问题描述】:

我正在努力集成第 3 方结帐,并发现了一个需要帮助关闭的安全漏洞。基本上结帐流程是这样的:

  1. 如果满足某些条件,当客户点击“结帐”时,他们在购物车中的商品会被删除,并被重定向到第三方网站。

  2. 他们填写客户信息和付款信息

  3. 付款已处理

  4. 付款确认后,会被重定向回商家网站

  5. 使用当前购物车中的商品以编程方式处理订单,客户收到确认

  6. 大家都很开心

如果有人在第 2-4 步期间随时编辑购物车,就会出现问题,Magento 认为新的购物车内容就是他们所支付的。

我对 magento 如何保存报价不是很熟悉,但我希望有一个“购物车 ID”或类似的东西,它代表具有特定内容的特定购物车,并且在添加某些内容时会发生变化/在购物车中删除/编辑。然后我可以比较他们离开时的号码和他们回来时的号码,确保没有欺诈。

所以我的问题是:

-有这样的数字吗?

-它存储在哪里以及如何检索?

-是否可以简单地根据数字加载,以便在将商品重定向到第三方时重新填充购物车?

-如果我的计划行不通,为什么?有更好的方法吗?

-你最喜欢的不是来自你祖国的食物是什么。我的是菲律宾的 Pork Sinagang。

感谢各位的帮助。如果没有这里的答案,我将无法完成这一切。

-马特

编辑: 一些澄清 -

  1. 客户点击“查看购物车”或类似的按钮来查看购物车(如果他们转而去结账,如果他们的 geoIP 是国际的,他们会被重定向回购物车)

  2. 他们可以查看购物车中的商品,然后点击结帐

    2a。如果他们的 geoIP 是国内的,他们会去商家的结账处

    2b。如果他们的 geoIP 是国际的,那么 jQuery 会抓取项目详细信息并将它们发送到托管结帐。这就是我想“冻结”购物车中的物品,或者获取一个 ID 号,让我在返回时检查购物车是否相同。

  3. 订单在他们使用的任何结账时都得到确认,并且他们被定向到成功的控制器。

这个过程是在我开始为他们开发之前确定的,无论出于何种原因,他们都不想改变它。

【问题讨论】:

    标签: php magento


    【解决方案1】:

    结构

    Magento 有 3 种不同的结帐和销售工作流程结构:

    1. 购物车和购物车项目
    2. 报价和报价项目
    3. 订单和订单项

    报价是客户在填写个人详细信息、地址、支付选项以及访问支付网关或其他任何内容时存储内容的地方。

    工作流程

    购物车已转换为报价单,您实际上是在为报价单付费。一旦您的付款得到确认(当您从支付网关重定向回来时),报价就会转换为订单。

    购物车 => 报价 => 订单转换工作流程旨在防止出现您所描述的内容,它还有助于记录产品的正确价格(未来可能会发生变化)。

    试图绕过这种保护

    当您单击订单确认按钮(并被重定向到支付网关)时,您的购物车信息将转换为报价信息(其中添加了大量客户信息和地址信息)。

    如果您返回并尝试继续编辑购物车,您应该会看到您的购物车现在是空的(已转换为报价单),如果您尝试将新产品添加到购物车,则会创建一个新的购物车不同的 ID 对应不同的 Quote 等等。

    你的情况

    如果您可以在当前安装的 Magento 上绕过此保护,请尝试在全新的 Magento 安装(原始 Magento 代码、单独的数据库、全新安装)上重现相同的步骤。

    我怀疑它是否会重现,因为我在 Magento 1.5、1.6、1.7、1.8 中使用了类似的用例,但如果它确实重现,请在 Magento 官方渠道上创建错误报告,因为这会带来很高的安全风险。

    【讨论】:

    • 紧急阑尾切除术,所以我有点晚了。编辑:为什么点击输入提交?我讨厌那个。我遇到的问题是当他们第一次点击“结帐”时从购物车中转移。据我所知,这意味着购物车在我的控制器返回之前永远不会转换为报价。我考虑过进行 ajax 调用(因为是 java 进行了传输)以将其转换为报价,但我不确定这会有多有效,因为这超出了我有限的经验。我不确定我的其他选择是什么,或者哪个是最好的。
    • 第一次观察:Java =/= JavaScript
    • 其次,我们需要区分“结账”和“订单确认”。网站上的结帐按钮应该引导您查看购物车中的商品,然后允许您输入交货/发票数据。完成所有这些表格后,您将完成 N 阶段结帐流程并看到“确认订单”按钮(选择付款后)。
    • 在上面的问题中添加了一点,以便更好地解释这个过程
    猜你喜欢
    • 2014-03-17
    • 2015-07-06
    • 1970-01-01
    • 1970-01-01
    • 2012-08-26
    • 1970-01-01
    • 2012-06-21
    • 1970-01-01
    • 2011-04-09
    相关资源
    最近更新 更多