订阅后如何获取用户信息?

时间:2020-01-06 09:00:32

标签: javascript paypal

正常购买后,我可以获得用户信息。

paypal.Buttons({
  createOrder: function(data, actions) {
    return actions.order.create({
      purchase_units: [{
        amount: {
          value: '0.01'
        }
      }]
    });
  },
  onApprove: function (data, actions) {
    console.log(data)
    return actions.order.capture().then(function (details) {
      console.log(details) // OK
    })
  }
}).render('#paypal-button-container')

但是,订阅后无法获取。

paypal.Buttons({
  createSubscription: function (data, actions) {
    console.log(data)
    return actions.subscription.create({
      'plan_id': PP_PLAN_ID
    })
  },
  onApprove: function (data, actions) {
    console.log(data)
    return actions.order.capture().then(function (details) {
      console.log(details) // NG
    })
  }
}).render('#paypal-button-container')

如何使用代码获取用户信息?

2 个答案:

答案 0 :(得分:0)

我认为创建PayPal订阅时不会考虑到很多客户端活动,因此您可能需要以下服务器端API调用:https://developer.paypal.com/docs/api/subscriptions/v1/#subscriptions_get

(要将信息拉到客户端,您需要对服务器执行fetch( XHR。正常购买的演示模式可能会作为参考:https://developer.paypal.com/demo/checkout/#/pattern/server

答案 1 :(得分:0)

这是在调用 PayPal 按钮代码时显示订阅详细信息的代码。

<script>
  paypal.Buttons({
    style: {
        shape: 'pill',
        color: 'blue',
        layout: 'vertical',
        label: 'subscribe'
    },
    createSubscription: function(data, actions) {
        return actions.subscription.create({
          plan_id: 'P-1DF9508450687805KMCJ5I6A'
        });
    },
    onApprove: function(data, actions) {        
        actions.subscription.get().then(function (Details){
          console.log(Details);          
        });
      }
  }).render('#paypal-button-container-');
</script>