【问题标题】:Adding additional cart items during checkout dilemma在结帐困境中添加额外的购物车项目
【发布时间】:2016-09-27 07:06:27
【问题描述】:

我在尝试构建的电子商务网站上遇到问题,在该网站上,用户可以在使用 SecurePay 支付网关结账时添加额外的购物车物品。

当用户点击“立即付款”按钮时,他们会被重定向到 SecurePay 付款页面,并在其中输入信用卡信息。在支付信息已经发送到支付网关后,用户可以在此处打开另一个页面并添加/删除购物车项目,而我无法检测到它。购物车是一个数据库购物车,带有一个cookie作为唯一标识符来记住用户。

问题是SecurePay表单中发送到支付网关的任何产品数据都没有输入字段,您只能指定有关订单的有限信息,即包括运费在内的订单总金额(甚至不能单独发送运费总额),参考号(发票号)和货币类型(澳元),附加费百分比等。所以我必须在订单成功后根据用户购物车处理所有内容,他们是重定向回我的网站。如果用户在异地付款时添加/删除购物车物品,那么当我生成发票并在订单完成页面上进行库存盘点时就会反映出来。

我只是不知道如何解决这个问题。

我可能的情况:

我在用户点击结帐页面时锁定购物车,然后在他们点击结帐页面以外的任何其他页面时解锁它。尽管如此,如果不让用户完全退出结账过程,就不可能进行任何追加销售,而且我也担心如果用户返回网站,他们的购物车仍可能被锁定的任何可能情况。另外,解决方案似乎有点混乱/骇人听闻?

我确实测试了几个随机的电子商务网站,并且还可以在结帐过程的“立即付款”阶段从另一个页面添加额外的购物车项目,除非您实际手动刷新,否则它不会检测到额外的购物车项目这页纸。虽然我没有通过实际支付这些物品来验证,但我看不出它与我的问题有什么不同。

有人有什么建议吗?

【问题讨论】:

    标签: php mysql e-commerce


    【解决方案1】:

    我最初认为这种行为是一个错误,直到我了解了追加销售。所以我对此的解决方案(如果我需要的话)是确保每个结帐过程都是新订单,而不是更新。并添加一个钩子,让用户知道新订单,并提供丢弃(清除)当前在购物车中的商品的选项。

    【讨论】:

    • 也试试看这个stackoverflow.com/questions/12646200/…>
    • 感谢您的评论。我想出的解决方案是在“订单”表中创建一个名为“product_array”的列,并在用户单击“立即付款”时将购物车的内容保存为带有分隔符的字符串。如果付款成功,那么我将该字符串分解为一个数组并从那里处理订单而不是购物车。这样,如果用户在进入托管付款页面后确实尝试从另一个选项卡操作购物车,则它变得无关紧要
    【解决方案2】:

    如果您可以发送参考号,为什么不使用它来生成订单?每当用户去付款时,使用他们购物篮中的物品创建一个订单并将该号码发送到 SecurePay。付款完成后,将该订单标记为已付款。如果他们更改了购物篮的内容,那么旧的参考编号仍将指代最初在购物篮中的产品,如果他们再次结账,将创建一个包含正确商品的新订单。

    【讨论】:

    • 对不起,我不明白你的意思是有一个旧的参考号?当用户开始结帐流程时,我会生成一个带有发票编号的临时订单,我将发票编号作为 SecurePay 的参考发送,这样当用户被重定向回网站时,我就可以指向该订单。 SecurePay 只允许一个参考号。也许我可以在用户付款时更新临时订单并将购物篮内容和数量存储为数组,然后在订单成功时循环遍历数组以获取产品项目和数量,而不是遍历用户购物篮
    【解决方案3】:

    可能有一个选项 - 当用户被重定向回您的网站时 - 安全支付可以传回一些信息,包括收取的金额。然后,您可以对照购物车中的任何物品检查并确认该数字。

    或者 - 我正在查看安全支付开发人员页面,他们有两种不同的方法,客户永远不会离开您的网站。 https://www.securepay.com.au/developers/products-and-services/accepting-e-commerce-payments/

    你在澳大利亚吗?如果是,你也可以看看 Stripe,这可能更容易https://stripe.com/au/pricing

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-04
      • 1970-01-01
      • 2021-12-17
      • 2012-12-25
      • 1970-01-01
      • 2014-08-30
      • 2019-06-27
      • 1970-01-01
      相关资源
      最近更新 更多