Magento 商店中的 Paypal IPN 错误

Posted

技术标签:

【中文标题】Magento 商店中的 Paypal IPN 错误【英文标题】:Paypal IPN errors in Magento store 【发布时间】:2012-01-08 02:32:46 【问题描述】:

从我们的 Magento 商店前端下达的每个订单都会记录“错误的订单 ID”异常,即使所有订单似乎都没有问题。订单的完成似乎也比应有的时间要长得多。如果我从管理员下订单,它几乎是即时的,不会记录任何错误。前端订单和后端订单有什么不同?即使没有真正发生错误,为什么每次都会记录这些错误?有什么建议吗?

谢谢!

【问题讨论】:

我刚刚向 IpnController.php 以及 Ipn.php 文件添加了一些日志记录。现在说还为时过早,但似乎这有助于减轻一些(如果不是全部)错误。这可能是时间问题吗?也许 IPN 回调发生在订单保存到 Magento 之前? 【参考方案1】:

根据change log for Magento 1.7.0.0(4 月发布),他们认为他们已经解决了问题:

Fixed: “Wrong order ID” exception in PayPal Express module under heavy load

谁能确认升级到 Magento 1.7 确实可以解决问题?每次我查看它时,似乎确实是 PayPal Express 问题(我们的付款通常通过 PayPal Pro 进行,而且似乎没有错误)。

【讨论】:

我很想听听遇到此问题、已升级到 1.7.0.0 且不再存在此问题的人。对于我们来说,升级可能不会很快出现,但如果我可以用他们为修复它所做的任何更改来更新 1.5.0.1 代码,那就太好了!【参考方案2】:

所以...我们终于找到了 Magento 1.6 的永久解决方案。我们可以确认这已在 Magento 1.7 中修复。

完整的解释和代码在这里:

Magento Paypal IPN Wrong Order ID – SOLVED

【讨论】:

非常感谢您用您的发现更新这个问题。我还没有机会尝试它,但它看起来不错而且很有意义。【参考方案3】:

我们在 Magento 1.6.1 中也有同样的异常出现在 exception.log 中。我们的问题是订单号和发票号不同步。

由于某种原因,在使用 PayPal Express 时,会导致订单未完全处理并记录异常:“Wrong Order ID”。最糟糕的是它不稳定……有时它会失败,有时它很好。

解决方案: http://www.magentocommerce.com/magento-connect/fooman-sameorderinvoicenumber.html

感谢 Fooman 的出色扩展!只需安装他们的“SameOrderInvoiceNumber”扩展,记得在“配置 |销售 |订单号”,一切就绪!

在 Magento 1.6.1 上为我们解决了问题……不要乱用核心代码!

【讨论】:

非常感谢您的详细回答,但我们已经安装了该扩展程序,但仍然遇到此问题。虽然这是一个很好的扩展:)【参考方案4】:

好的...所以我的其他解决方案也没有为我们解决问题。说得太早了。虽然这有助于它并没有完全摆脱错误。

不过,我们确实发现了服务器负载与此 IPN 错误之间的明确联系。详细分析在这里: http://www.bigdune.net/geek-blog/magento/60-magento-paypal-ipn-wrong-order-id.html

抱歉,似乎没有针对这个的快速“代码修复”.. 我们还没有找到。

【讨论】:

以上是关于Magento 商店中的 Paypal IPN 错误的主要内容,如果未能解决你的问题,请参考以下文章

Magento - PayPal IPN 配置

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

magento中paypal express结账的ipn url是啥

使用非托管 PayPal 按钮时如何使用 IPN 验证 PayPal 数据

当 PayPal 发送付款通知 (IPN)

Paypal 网关为 Magento 商店返回错误