rest - PayPal REST API - 如何获取在网络挂接中返回的电子邮件地址?

标签 rest paypal

我正在使用 checkout.js 设置 PayPal 的 REST API --

<div id="paypal-button"></div>
<script src="https://www.paypalobjects.com/api/checkout.js"></script>
<script>
paypal.Button.render({
  env: 'sandbox',
  client: {
    sandbox: 'XXXXXXXX'
  },
  payment: function (data, actions) {
    return actions.payment.create({
      transactions: [{
        amount: {
          total: '10.00',
          currency: 'USD'
        }
      }]
    });
  },
  onAuthorize: function (data, actions) {
    return actions.payment.execute()
      .then(function () {
        window.alert('Thank you for your purchase!');
      });
  }
}, '#paypal-button');
</script>

该页面在我测试时运行良好。我设置了一个 webhook 监听器并得到:

...
[resource_type] => sale
[event_type] => PAYMENT.SALE.COMPLETED
...

里面还有其他的东西,但是里面没有关于买家的任何东西!大多数情况下,我需要他们的电子邮件地址。

如果我使用 PayPal 的 webhook simulator,我得到买家的信息并告诉它向我发送一个 CHECKOUT.ORDER.COMPLETED(而不是 PAYMENT.SALE.COMPLETED),其中包含所有内容:

...
[resource_type] => checkout-order
[event_type] => CHECKOUT.ORDER.COMPLETED
...
[payer] => (Everything I need)

所以这个问题是:有没有办法将我的交易从 PAYMENT.SALE.COMPLETED 更改为 CHECKOUT.ORDER.COMPLETED,或者至少告诉我想要将电子邮件地址包含在 webhook 中?

最佳答案

我找到的唯一答案是通过第二次调用来跟进,这次是调用 GetExpressCheckoutDetails NVP API。完成工作,但确实没有必要。

关于rest - PayPal REST API - 如何获取在网络挂接中返回的电子邮件地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51690161/

相关文章:

python - 使用 Django 为 Dojo 的 JsonRestStore 实现 Restful 服务器 - 哪些工具适合这项工作?

java - 使用外部枚举定义从 JAX-RS 端点生成 Swagger

Paypal API 创建沙盒个人和企业帐户

bash - 如何连接到在Docker容器中运行的Netcat?

java - vidispine 中多个 itemId 的查询作业

PayPal 的定期付款,已跳过将在 5 天后重试。我现在如何让它尝试?

php - Wordpress + Paypal 在 Paypal Payment 上更改用户角色

paypal - 如何找到 Braintree 沙箱的 Paypal 沙箱凭据?

paypal - 根据 PayPal 的文档,IPN 似乎无法正常工作

java - 如何将 Node JS HMAC 签名创建更改为 Java