Paypal IPN 在 Magento 站点和另一个不同方面失败 - 冲突

Posted

技术标签:

【中文标题】Paypal IPN 在 Magento 站点和另一个不同方面失败 - 冲突【英文标题】:Paypal IPN failing with a Magento site and another different side - collisions 【发布时间】:2013-07-02 17:39:45 【问题描述】:

有一个工作的 Magento 1.7 实时站点,它的 Paypal 一直很好,直到最近另一个站点连接到它使用的 PayPal 帐户。

此其他站点不使用 IPN(Magento 站点使用 PayPal 网站标准付款)。但是,我认为是另一个站点触发了一个 IPN 通知,该通知转到默认 URL ,这当然设置为 livesite 的 /paypal/ipn/ URL IPN 侦听器。

我在另一个网站http://www.magentocommerce.com/boards/errors.php/viewthread/285840/ 上找到了这个帖子,其中给出了一些解决方案,但似乎没有定论。解决此问题的推荐方法是什么?

1) 编写虚拟脚本 IPN 以捕获非 IPN 呼叫并做出响应 2)关闭贝宝帐户中的IPN,因为Magento可能会发送自己的IPN(?) 3) 其他解决方案?

感谢您的建议!

【问题讨论】:

【参考方案1】:

不要在您的 paypal 帐户中设置实际的 IPn url。

IPN url 应该发布到 paypal(通常发布在 Magento 中),因此会导致在指定的 IPN url 上收到这些付款的 IPN。

如果您在 paypal IPN 值中设置 Magento IPN URL,则当添加的另一个购物车收到付款时,如果该购物车在发布付款相关请求时未发布 IPN url,则 IPN 将传送到在 Paypal 上的 IPN 值中定义的 URL .

【讨论】:

谢谢,如果我没有在 PayPal 中设置 IPN URl,我只需要禁用 IPN,因为没有 URL 就无法做到这一点。 另外 - 如果 PayPal IPN 被禁用,我的 Magento 状态将保持在 Pending Payment,并且不会更改为 Processing。但是,它确实可以在 PayPal 中正确付款。 1) 修改 Magento IPN 脚本以检查在 IPN 中发布的内容。如果这是来自其他站点,请确认什么都不做,让代码按照 Magento IPN 代码的方式流动。 感谢 Satish 是的,似乎唯一的方法是在 MAgento 服务器上编写一个脚本来处理额外的通知。不过,Paypal 支持尚未向我证实这一点,如果他们让它比这更容易工作,那就太好了! 标记为已接受,因为您与您所说的最接近 - 我需要在 PayPal 中指定虚拟 URL 并启用它。 (让 MAgento 发送自己的特定 URL)【参考方案2】:

您的假设是正确的,因为如果您在您的 PayPal 帐户中配置了 IPN,它将捕获来自任何访问您的 PayPal 帐户的交易,无论它是否来自 Magento。

您确实可以在 PayPal 帐户中禁用 IPN,并指定一个 IPN URL 以及对 PayPal 的个人付款请求。这是在 API 请求中使用 NotifyURL 或在标准按钮中使用 notify_url 完成的。

我很确定 Magento 已经默认这样做了,但你应该检查一下。如果不是,您可以扩展 Magento PayPal 模块以包含它,这样您就不必在 PayPal 帐户中设置它,这将再次受到所有交易的影响。

【讨论】:

谢谢,我已禁用 Paypal IPN 并运行测试交易,但 IPN 现在无法通过 Magento。这可能是因为该帐户已禁用 IPN,但出现太多警告/失败。我正在尝试使用 PayPal 进行检查。非常沮丧! 此外,如果 PayPal IPN 被禁用,我的 Magento 状态将保持在 Pending Payment,并且不会更改为 Processing。但是,它确实可以正确使用 PayPal 付款。 听起来 Magento 一定不能使用 NotifyURL(这很奇怪)。您是否能够确认这一点? 嗨,安德鲁-不,我很确定它正在使用 NotifyURL。我决定在我在 PayPal 中设置的新默认 URL 上创建一个 IPN 侦听器,并处理流氓 IPN 消息。 Magento 设置了自己的 url,所以应该能够愉快地继续。

以上是关于Paypal IPN 在 Magento 站点和另一个不同方面失败 - 冲突的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Magento 中关闭 PayPal IPN?

magento中paypal express结账的ipn url是啥

Magento 商店中的 Paypal IPN 错误

Paypal IPN 未调用问题

新的 PayPal 沙箱,在沙箱“测试站点”UI 中输入 IPN url 的位置

不同网站上的 PayPal ipn notify_url