更改现有订阅的IPN网址

9
我们计划更改服务的域名,因此我们需要更新现有客户的IPN-url。我尝试过谷歌搜索有关如何更改当前订阅的IPN-url的解决方案,但未能找到任何东西。
任何帮助都将不胜感激。
最好的问候, Thomas

两年过去了... 有什么新的进展吗? - Vilx-
教训已经吸取。始终使用IPN转发服务来处理IPN URL。 - choonkeat
7个回答

10

我今天遇到了这个问题。

声称你可以更改现有的Paypal定期付款的IPN URL的人是错误的;你不能,你只能更改将来通知的IPN URL。

要解决此问题,我使用了Apache重写:

RewriteRule ^sites/all/modules/civicrm/extern/ipn.php$ https://example.org/wp-content/plugins/civicrm/civicrm/extern/ipn.php [R=307,L]

魔法就在于R=307。 307重定向表示必须将POST请求重新发送为POST。 否则,您将失去IPN数据。


7
我有完全相同的问题……我必须更改服务器,这意味着我的IPN网址也改变了。 我与三位不同的Paypal代表以及一位技术支持人员进行了会谈。
遗憾的是,无法更改现有客户/订阅的IPN网址。
据建议,所有现有的客户/订阅都需要重新设置,然后您的客户将基于新的IPN网址启动新的订阅。这很麻烦... 我需要为1500个客户做这件事,而且我可以保证由于此类麻烦,我将失去一些客户。
抱歉,这不是你要找的答案 :(

这方面有什么新进展吗? - Vilx-
仍然无法编辑IPN网址。这就是为什么我总是使用转发服务http://webhooks.in/。 - choonkeat
@AlexTaylor,对于在旧网址上制作PHP脚本并将POST请求转发到新网址的想法怎么样? - Sisir
4
Choonkeat,如果他们重新品牌或破产了会怎么样呢?使用接收IPN通知的外部服务会破坏你自己的业务。 - Svetoslav Marinov
@SvetoslavMarinov 是的,现在 webhooks.in 的链接已经失效了! - artfulrobot
显示剩余2条评论

4
如果您需要更改IPN Url,请确保它仍然处于打开状态。从“历史记录>IPN历史记录”中检查并打开它。
有两种方式可以启用IPN:
1. 在PayPal账户设置中 2. 通过API调用或按钮代码传递IPN URL参数
要在您的账户设置中启用IPN,请按照以下步骤进行操作:
1. 登录您的PayPal账户(网址是https://www.paypal.com)。 2. 点击“个人资料”。 3. 在“My selling tools”下,点击“即时付款通知”部分中的“更新”。 4. 点击“编辑”或选择“IPN设置”。 5. 在“通知URL”字段中输入您的IPN URL,请确保选择了“接收IPN消息(已启用)”单选按钮。 6. 点击“保存”。
您也可以直接在账户的这一部分启用IPN:https://www.paypal.com/ie/cgi-bin/webscr?cmd=_profile-ipn-notify-edit(需登录)。
要将IPN URL作为代码级参数传递,您应参考正在实施的特定功能的文档。通常,您应该传递的API变量是“NotifyURL”,但它可能基于API调用、是否为名称-值对(NVP)或SOAP格式,或者您是否使用非托管的PayPal标准按钮代码而有所不同。对于标准按钮,变量是“notify_url”。
尽管购物车经常覆盖此设置,但IPN应在账户中启用。

上面的URL对我有效。是的!无需在PayPal用户界面中穿越不可通行的迷宫。 - ahmd0
2
但是它是否会更改向已订阅配置文件发送IPN通知的方式?如果您在他们订阅时通过订阅按钮设置了notify_url,那么呢? - Sisir
这并没有回答问题。问题涉及更改现有订阅的IPN URL。 - Colin R. Turner

2

2013年5月1日,PayPal更改了IPN的位置。

登录后,进入个人资料->我的销售工具->即时付款通知...(更新)

这将显示您当前的IPN网址,并有一个编辑按钮。


我可以确认这个有效;你可以编辑URL来更改它,或者关闭通知。 - geerlingguy
2
但是,不幸的是,这不会导致旧的订阅IPN发送到新的URL。您仍然需要设置重定向以将旧的URL指向新的URL(请确保在重定向中保留查询字符串 - Apache的mod_rewrite需要设置QSA标志)。 - geerlingguy
这不会改变旧/现有订阅的IPN通知。 - Sisir

1
在没有Paypal的解决方案的情况下,我建议任何人提交支持工单请求手动更改。如果有足够多的人这样做,他们最终将不得不提供此选项。
联系Paypal技术支持这里
编辑:我成功地通过与Paypal支持的工单更改了所有先前的IPN URL。他们告诉我必须手动完成,但满足了我的要求。大约需要一周时间。他们非常乐意帮助。希望这能帮到某些人。

1

2022年12月更新:

https://www.paypal.com/merchantnotification/ipn/preference 上有IPN URL设置。我更改了IPN URL,从那时起所有的IPN通知都会发送到新的IPN URL。我不知道超旧的订阅通知是否也会发送到这个URL,但我可以确认1.5年前的订阅现在都会发送到这个新的URL。


-2

我刚刚完成了它。

登录,进入个人资料 -> 我的账户设置 -> 即时付款通知...(更新)

这将显示您当前的IPN网址,并有一个可用的编辑按钮。

现在是2013年4月,因此PayPal可能已经更改了此问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接