2016-05-29 89 views
1

我在电子商务网站上遇到了问题,我正尝试在用户在与SecurePay支付网关签出时添加其他购物车物品的地方。在结帐困境期间添加额外的购物车物品

当用户点击“立即付款”按钮时,它们被重定向到网站的SecurePay付款页面,在那里他们输入他们的信用卡信息。在支付信息已经发送到支付网关而没有我能够检测到之后,用户可以打开另一个页面并添加/取消购物车项目。购物车是一个数据库购物车,其中一个cookie用作记录用户的唯一标识符。

问题在于,没有输入字段可以将SecurePay表单中的任何产品数据发送到支付网关,您只能指定有关订单的有限信息,即订单的总金额(包括运费(甚至不能单独发送运费总额),参考号码(发票号码)和货币类型(AUD),附加费百分比等。因此,我必须在订单成功后根据用户购物车处理所有内容,并且他们将重定向回我的网站。如果用户在现场付款时添加/取消购物车项目,那么当我生成发票并在订单完成页面上进行购买时,它会反映出来。

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

我可能的场景:

我锁上车当用户点击结账页面,然后再将其解锁,如果他们打任何其他页面比结帐页面。尽管如此,如果不将用户完全退出结帐流程,就不可能进行任何促销,我还担心任何可能出现的情况,即如果用户返回该网站,他们的购物车可能仍会被锁定。另外,也许这似乎有点混乱/解决方案的黑客?

我测试了几个随机电子商务网站,并且还可以在结账过程的“立即付款”阶段从另一个页面添加更多购物车项目,而不检测其他购物车项目,除非您实际上手动刷新页面。虽然我没有通过实际支付项目来验证,但我看不出我的问题会有什么不同。

有没有人有任何建议?

回答

0

如果您可以发送参考号码,为什么不使用它来生成订单?无论何时用户付款,都可以使用购物篮中的物品创建订单并将该号码发送给SecurePay。付款完成后,将该订单标记为已付款。如果他们更改了篮子的内容,那么旧的参考号码仍然会参考篮子中原来的产品,如果他们再次退房,将会创建一个新订单,其中包含正确的物品。

+0

对不起,我不明白你的意思是有一个旧的参考号码?当用户开始结帐过程时,我会生成一个临时订单和发票号码,我将发票号码作为参考发送给SecurePay,这样我可以在用户重定向到该网站时指向订单。 SecurePay只允许一个参考号码。也许我可以更新临时订单,并在用户付款时将购物篮内容和数量存储为数组,然后只需循环访问数组即可在订单成功时获取产品和数量,而不是通过用户购物篮循环购买 – Bezzzo

0

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

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

你在澳大利亚 - 如果是的话,你也可以看看条纹,它可能是更容易https://stripe.com/au/pricing

0

我最初认为这种行为是一个错误,直到我了解到向上销售。所以我的解决方案(如果我需要的话)是确保每个结账过程都是新订单,而不是更新。然后添加一个挂钩,让用户了解新订单,并给出一个选项来放弃(清除)当前在购物车中的物品。

+0

也尝试读这个

+0

感谢您的评论。我提出的解决方案是在'orders'表中创建一个名为'product_array'的列,并在用户单击'pay now'时将购物车的内容保存为带分隔符的字符串。如果付款成功,那么我将该字符串分解成数组并处理从那里的订单,而不是购物车。这样,如果用户在进入托管支付页面后试图从另一个选项卡操纵购物车,则它变得不合适 – Bezzzo

相关问题