我已经使用Magento(第1.5版)建立了网上商店,我的付款方式之一是PayPal标准付款。到目前为止,一切正常,但现在我想在收到付款时使用PayPal的IPN URL在另一台服务器上触发脚本。

PayPal帐户也可用于其他Web平台,并且其帐户配置中已设置的脚本具有正确的IPN URL。但是,当有人在Magento商店购买商品时,Magento模块似乎会覆盖此URL,并始终将其设置为“ http://myshop.com/paypal/ipn/”。

我的问题是我找不到在Magento本身中更改此行为的任何可能性。后端模块配置在该方向上没有任何作用,我还研究了核心目录(Mage / Paypal / controllers / IpnController.php和Mage / Paypal / Model / Ipn.php)中的IPN模型和控制器文件。

必须可以更改IPN URL,但目前我还没有主意...因此,我非常感谢任何有用的提示!

最佳答案

IPN通知URL在Mage_Paypal_Model_Standard::getStandardCheckoutFormFields中设置:

$api->setNotifyUrl(Mage::getUrl('paypal/ipn/'))


该函数由Mage_Paypal_Block_Standard_Redirect调用,因此您可以覆盖模型或块以更改/删除URL。但是请记住,Magento需要IPN通知来更新订单状态等。

07-24 09:45
查看更多