【问题标题】:How to cancel an order when a payment gateway page timesout in magento当magento中的支付网关页面超时时如何取消订单
【发布时间】:2011-10-17 05:25:27
【问题描述】:

我已将第 3 方支付网关集成到 magento 中。它完美地处理成功的事务或失败的事务。

但是如果用户在支付网关页面超时,或者用户在支付网关页面关闭页面并稍后返回站点,或者用户只是点击返回按钮,

  • 那我该如何取消订单呢?
  • 我应该使用一些观察者来执行此操作吗?
  • 如果可以,您能否建议我需要针对哪些事件触发观察者?

我面临的问题是,当用户被重定向到支付网关并且他/她点击后退按钮并返回网站时,订单仍然创建,理想情况下应该取消。

谢谢。

【问题讨论】:

    标签: magento magento-1.5


    【解决方案1】:

    您的验证方法不应该是会话感知的,并且在任何情况下都应该处理任何反馈(并在处理之前进行验证)。如果您需要及时禁用它们,您还需要一个监控服务,该服务会在一段时间后超时而没有响应。

    但是,如果用户点击返回按钮,您实际上无能为力,因为来自支付网关的反馈永远不会在用户操作时发送。我知道一些支付网关会从服务器发出自动发布,无论您必须调查是否也可以使用您的支付网关。

    【讨论】:

    • 我的验证应该通过 javascript 还是在观察者中执行验证?您还可以建议在我的情况下哪个事件是最好的吗? sales_order_place_after 会是理想的活动吗?
    • 另外,您能否举一个最适合我需要的监控服务示例。谢谢。
    • 您可以使用 magento crontab 作业为您的扩展设置监控。如果您谈论的是支付网关响应验证(以及用户点击返回),那么您的意思是用户正在离开您的网站进行支付放置?
    • 是的,我面临的问题是,当用户被重定向到支付网关并且他/她点击后退按钮并返回站点时,仍然会创建订单,理想情况下应该已被取消。我想在创建订单时解雇观察者,如果订单在大约 15 分钟后未处于处理状态(比如超时),我想取消订单。但不知道当用户在支付网关页面点击返回按钮时如何处理这种情况。
    • 但我只想在创建订单时执行检查。可以为此类事件触发 cron 吗?您能否提供一个 magento cron 作业的 sn-p 代码?
    猜你喜欢
    • 1970-01-01
    • 2013-01-21
    • 1970-01-01
    • 1970-01-01
    • 2020-05-15
    • 2013-12-07
    • 1970-01-01
    • 1970-01-01
    • 2017-08-16
    相关资源
    最近更新 更多