将 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 一起使用吗?