【问题标题】:Paypal JS SDK and WebHooks - get payer detailsPaypal JS SDK 和 WebHooks - 获取付款人详细信息
【发布时间】:2023-04-06 16:13:01
【问题描述】:

我正在集成新的 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 调用

标签: javascript paypal paypal-webhooks


【解决方案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?

    我希望我有一些用处!

    【讨论】:

      猜你喜欢
      • 2014-02-23
      • 2018-04-05
      • 2020-10-16
      • 2011-08-20
      • 2015-04-24
      • 2018-08-30
      • 2015-07-22
      • 2011-12-01
      • 2021-06-06
      相关资源
      最近更新 更多