PayPal 的协议 API 未发送付款通知

Posted

技术标签:

【中文标题】PayPal 的协议 API 未发送付款通知【英文标题】:PayPal's Agreement API not sending notification on payments 【发布时间】:2021-03-27 07:26:16 【问题描述】:

我正在尝试使用 php 为许可证设置定期付款。

我正在使用 PayPal 的协议 API。一切“似乎”都在正常工作。我处于沙盒模式,并且成功重定向到 ReturnURL。但是,我没有收到付款通知。

系统将设置为每月接收付款通知。收到此通知后,许可证将被延长。

我已将 MerchantPreferences 设置为:

$merchant_preferences->setReturnUrl($base_url . '/customers/payments/paypal/?dlms-status=success')
->setCancelUrl($base_url . '/customers/payments/paypal/?dlms-status=cancelled')
->setNotifyUrl($base_url . '/paypal.php')
->setAutoBillAmount('yes')
->setInitialFailAmountAction('CONTINUE')
->setMaxFailAttempts('0');

PayPal 没有向https://www.example.com/paypal.php发布任何内容

谁能告诉我原因?

谢谢!

【问题讨论】:

【参考方案1】:

您可以通过https://www.sandbox.paypal.com/webscr?cmd=_display-ipns-history查看您的沙盒帐户的 IPN 历史记录

各种“Request Bin”类型的服务将让您设置一个免费的侦听器 URL 以进行故障排除,例如https://requestbin.com

【讨论】:

我使用沙盒收款人帐户登录并尝试访问上面的链接,但收到以下错误消息:“即时付款通知 (IPN) 历史记录 - 个人帐户不可用此功能” 使用作为企业帐户的收款人帐户。在paypal.com/…创建一个 你指的是沙盒账户还是生产账户?如果是生产帐户,那么我已经有一个企业帐户。 在沙盒环境中,只有沙盒账户是相关的。对于这个问题,只有您登录的沙盒收款人帐户存在问题。它必须是企业帐户,而不是个人帐户。根据需要创建一个。 如果由于某种原因您在沙盒中登录了 payer 帐户,请不要这样做。登录接收付款的帐户 (payee) 以查看其 IPN 历史记录。

以上是关于PayPal 的协议 API 未发送付款通知的主要内容,如果未能解决你的问题,请参考以下文章

PayPal 账单协议:初始付款是不是计入频率?

WinForms 的 PayPal 即时付款通知

未收到 Paypal 沙箱 IPN 消息

PayPal定期付款 - 结算计划是否意味着有多个结算协议?

Paypal REST API - 计费协议

Paypal 交易未显示在沙箱中,但出现在通知中