将 PayPal IPN 与 WooCommerce 一起使用

Posted

技术标签:

【中文标题】将 PayPal IPN 与 WooCommerce 一起使用【英文标题】:using PayPal IPN with WhooCommerce 【发布时间】:2016-06-22 14:01:46 【问题描述】:

我有一个网上商店,为此我在 paypal 中定义了一个 IPN。 假设地址是:www.x.x。 这很好用。

最近我与 woocommerce 网上商店合作了另一个网站。 应该运行的 IPN 没有改变。

但是由于某种原因,它在新站点上不起作用。

当我在 paypal 中查看交易历史时... 我看到通知 URL 与 Paypal 中定义的不同。 现在它转到:

https://My_Site/wc-api/WC_Gateway_Papal/

为什么它没有按照应有的方式发送到www.x.x?我该如何解决? 为什么 Paypal 中定义的 URL 会被覆盖?!

【问题讨论】:

【参考方案1】:

基本上有两种定义IPN URL的方法:一种在PayPal中设置,第二种网站将通过代码将其作为变量发送到PayPal。如果 IPN URL 是通过变量发送的,那么它将覆盖 account 中提到的 URL。

因此,在您的情况下,URL 是从 WC 发送到 PayPal 的,因此会覆盖它。

【讨论】:

如何在 WC 中禁用此功能? 我不确定是否要从前端在 WC 上禁用它,除非您注释掉发送 ipn URL 的代码行。 我可以访问数据库,如果您可以指导如何操作...我会做的。我认为这是贝宝服务中的一个错误。他们应该让贝宝使用对此事拥有最终决定权。 实际上它不在数据库中,但应该在 php 文件中的某个位置。可以在这里联系tlk.io/eshan,可以详细讨论 基本上我想要的是两个不同的网站会去同一个IPN地址。【参考方案2】:

您将查找变量“notify_url”(或 NOTIFYURL,如果使用我们的 API),该变量的值将是 Paypal 将用于特定网站上的 IPN 的 URL。 正如 Eshan 所说,如果变量存在,它将覆盖您的 Paypal 帐户设置,以便您可以删除该变量的行,在这种情况下,Paypal 将使用您的 Paypal 帐户中定义的 IPN URL。 希望对您有所帮助。

问候, 弗洛里安

【讨论】:

你能提供代码吗? github.com/woothemes/woocommerce/blob/master/includes/gateways/… 这是第 79 行,但我不知道如何删除它,或者如果它被删除,结构会发生什么。

以上是关于将 PayPal IPN 与 WooCommerce 一起使用的主要内容,如果未能解决你的问题,请参考以下文章

将 Paypal IPN 与 Django 集成

Paypal Smart Buttons V2 和 IPN - 如何将智能按钮中的字段与 IPN 匹配

您如何将 Paypal IPN 确认连接到用户?

Paypal 不会将沙盒交易数据发送到 IPN

Paypal IPN 订阅协议

PayPal IPN - 自动退货