将 PayPal webhook 与 NVP DoExpressCheckoutPayment 结合使用

Posted

技术标签:

【中文标题】将 PayPal webhook 与 NVP DoExpressCheckoutPayment 结合使用【英文标题】:Using PayPal webhooks with NVP DoExpressCheckoutPayment 【发布时间】:2016-12-13 01:48:35 【问题描述】:

我正在开发一个网站,用户可以在该网站上向另一个用户付款,获得付款的用户设置了他的API Signature 并使用ExpressCheckout (NVP) 完成付款(付款人只是被重定向到如有必要,他会登录 PayPal 页面,然后单击按钮进行支付)。

问题是我尝试使用 webhook 来跟踪这些付款的退款,所以我以后可以通过回调 URL(php 函数)将退款数据插入到我的数据库中,但是我设置的 URL 根本不会被调用(我之前在同一个 URL 上模拟了一个事件,一切都很好)。

我试图通过设置我的API Signature 和我的一个朋友付给我一些美分(通过DoExpressCheckoutPayment)来让这个工作,然后我将它们退还给他(没有电话,只使用 PayPal 网站)。

Sandbox Webhooks 事件页面或实时页面上也没有显示任何内容。我尝试将“付款捕获完成”或“付款销售完成”等其他事件注册到我的 webhook,但结果相同。

我是否必须更改帐户中的某些设置?为了使用 webhook,我创建了一个 REST API 应用程序,但我看到有一个用于 NVP/SOAP API 应用程序的选项。如果 webhook 不起作用,我已经考虑过 IPN。

【问题讨论】:

你能告诉我们你的代码吗? 我可以在任何验证之前向您展示第一行:$body = file_get_contents('php://input'); $post = json_decode($body); 我将json_encode($post) 插入到我的数据库中,它适用于模拟。 【参考方案1】:

“Webhook”与 REST API 一起使用。 Express Checkout 使用IPN。

您需要为 IPN 设置一个单独的侦听器,类似于您在 REST API 上使用 webhook 所做的。

【讨论】:

以上是关于将 PayPal webhook 与 NVP DoExpressCheckoutPayment 结合使用的主要内容,如果未能解决你的问题,请参考以下文章

PayPal Sandbox Classic API Express Checkout NVP 内部服务器错误 (500)

我应该将 webhook 与 PayPal 的 V2 API 一起使用吗?

如何将 webhook 与 paypal 退货请求集成

Paypal API NVP 将运费添加到每月付款计划

Paypal express checkout 使用 NVP 上线 - “安全标头无效”

获取 Paypal NVP 相关 ID 的状态