Paypal JS SDK 和 WebHooks - 获取付款人详细信息

Posted

技术标签:

【中文标题】Paypal JS SDK 和 WebHooks - 获取付款人详细信息【英文标题】:Paypal JS SDK and WebHooks - get payer details 【发布时间】:2019-10-17 07:12:09 【问题描述】:

我正在集成新的 Paypal 智能支付按钮

<script src="https://www.paypal.com/sdk/js?...>
paypal.Buttons(
createOrder(data, actions) 
// ...
onApprove: function(data, actions) 
// Capture the funds from the transaction
 return actions.order.capture().then(function(details) 
 // Show a success message to your buyer
 alert('Transaction completed by ' + details.payer.name.given_name);
 );
 
).render('#paypal-button');

我在 Sandbox 中创建了一个应用,并为所有事件注册了 Webhook。 触发付款后,我一切正常,并且触发了 PAYMENT.CAPTURE.COMPLETED 类型的 webhook 事件。

我确定我在此过程中遗漏了一些东西,但我无法将此付款与付款人详细信息相关联。我不知道付款人详细信息在哪里,所以我无法处理我这边的订单。

我搜索了整个 Google 和 PP 文档但没有成功,有人可以帮助我吗? 谢谢!!

【问题讨论】:

我认为付款人的详细信息可能会被隐藏,因为任何人都可以通过这种方式访问​​它们?这不是一个安全漏洞(如果它是一个东西) 当我处理 webhook 时,我需要知道谁付费才能将付款与我的用户联系起来。我错过了这部分...... 我认为这不可能。您应该简单地在您的网站上收集数据。就像我说的,我不认为这是 PayPal 发布的内容 用户未登录。 webhook 是异步的,由 PP 调用 这还不够吗? developer.paypal.com/docs/classic/products/… 【参考方案1】:

您不需要为此使用 Webhooks。支付捕获的响应在 onApprove 回调中返回。只需打印您的“详细信息”变量,您就会看到它。

如果您仍想使用 Webhook,可以将付款 ID 与 Webhook 中收到的 ID 匹配。

示例:https://jsfiddle.net/pedrinho/frgc93x2/1/code

【讨论】:

【参考方案2】:

嘿!抱歉,我无法提供太多帮助,但这里有一个链接,指向与您类似的另一个问题,似乎可以找到答案。

答案是(不幸的是)进行第二次 API 调用:

我找到的唯一答案是通过第二次调用跟进此问题,这次调用 GetExpressCheckoutDetails NVP API

在这里找到:PayPal REST API - How can I get email address returned in the webhook?

我希望我有一些用处!

【讨论】:

以上是关于Paypal JS SDK 和 WebHooks - 获取付款人详细信息的主要内容,如果未能解决你的问题,请参考以下文章

在 Zapier 中使用 Webhooks 和 PayPal API 从特定 PayPal 交易中获取交易信息

PayPal + RESTful API + WebHooks + 自签名证书

Paypal Webhooks 与直接 PaypalApi 响应

PayPal Rest API (PHP SDK) webhook 未显示在沙盒事件列表中

订阅所有 paypal webhooks 事件

PayPal:IPN/REST/Webhooks 与 Java 程序的集成