我已经使用 Magento (v. 1.5) 建立了一个网上商店,我的付款选项之一是 PayPal 标准付款。到目前为止一切正常,但现在我想在收到付款时使用来自 PayPal 的 IPN URL 在另一台服务器上触发脚本。
PayPal 帐户也用于其他网络平台,并且它具有正确的 IPN URL 用于已在帐户配置中设置的脚本。但是,当有人在 Magento 商店购物时,Magento 模块似乎会覆盖此 URL 并始终将其设置为“http://myshop.com/paypal/ipn/”。
我的问题是我无法在 Magento 本身中找到任何改变这种行为的可能性。后端模块配置在这方面没有提供任何帮助,我还查看了核心目录中的 IPN 模型和 Controller 文件(Mage/Paypal/controllers/IpnController.php 和 Mage/Paypal/Model/Ipn.php)。
必须可以更改 IPN URL,但此时我没有想法......所以我将非常感谢任何有用的提示!
最佳答案
IPN通知URL在Mage_Paypal_Model_Standard::getStandardCheckoutFormFields
中设置:
$api->setNotifyUrl(Mage::getUrl('paypal/ipn/'))
该函数由 Mage_Paypal_Block_Standard_Redirect
调用,因此您可以覆盖模型或 block 以更改/删除 URL。但请记住,Magento 需要 IPN 通知来更新订单状态等。
关于url - Magento - Paypal IPN 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8078049/