Fly*_*ngM 5 events module paypal magento observer-pattern
我最近设置了一些自动脚本来帮助我使用观察者和Magento事件来管理Magento商店的传入订单.我的问题是处理完全根据所选付款类型下订单并保存在系统中的问题.
例如:如果有人只是选择预付款,订单会立即保存,客户会自动转发到成功页面 - 所以到目前为止没有任何问题.
如果客户通过Paypal付款,整个情况就完全不同了.在重定向到PayPal,登录帐户并确认付款后,客户不会被重定向到Magento商店.他可以点击一个链接返回那里也将他转发到成功页面,但肯定不是每个人都会这样做,问题是我使用的观察者事件只有在用户登陆该页面时才执行代码.(我正在使用的事件是"checkout_Onepage_Controller_Success_Action").
因此,我需要知道Magento从何处获取有关PayPal付款是否成功,已被取消或其他什么的信息.我查看了/ app/code/core/Mage/Paypal/controllers /下的一些PayPal控制器文件,唯一看起来接近可能解决方案的是StandardController.php中的函数successAction().但是,只有当客户选择返回Magento商店时,此功能似乎才会触发,因此对我没有帮助.
有没有人对这个问题有一些经验?
我找到了解决该问题的方法:显然,Magento 中没有与 PayPal 上的收款相对应的事件。一个可能的解决方案可能是提供一个 IPN URL,该 URL 在确认付款后立即触发脚本,但我设法将客户重定向到我的商店,因此我不必这样做。
在“网站设置”下的 PayPal 帐户的个人资料设置中,有一个名为“自动重定向”的选项。如果启用此选项并输入 URL,客户将自动转到该 URL。起初我认为这对我没有帮助,因为正如我所说,涉及多个网上商店,它们都有自己的单独返回 URL,并且您不能指定多个。但是,如果在联系 PayPal 时传递了返回 URL,它将覆盖配置文件设置中指定的 URL,并且由于 Magento 模块默认执行此操作,因此我只需在文本字段中输入一个随机 URL 并启用该选项,现在客户在下订单并通过 PayPal 付款时会被重定向回我的商店。