Paypal SDK,如何获取订单详情?

问题描述 投票:0回答:0

我正在添加一个 PayPal 按钮。这是代码:

      paypal.Buttons({
        style: {
          shape: 'rect',
          color: 'gold',
          layout: 'vertical',
          label: 'paypal',         
        },

        createOrder: function(data, actions) {
          return actions.order.create({
            purchase_units: [{"amount":{"currency_code":paypal_currency,"value":1}}]
          });
        },

        onApprove: function(data, actions) {
          return actions.order.capture().then(function(orderData) {
            
            // Full available details
            console.log('Capture result', orderData, JSON.stringify(orderData, null, 2));

            // Show a success message within this page, e.g.
            const element = document.getElementById('paypal-button-container');
            element.innerHTML = '';
            element.innerHTML = '<h3>' + orderData.id + ' Thank you for your payment! ' + orderData.payer.email_address +'</h3>';            
          });
        },

        onError: function(err) {
          console.log(err);
        }
      }).render('#paypal-button-container');

在这里,付款完成后,文字“感谢您的付款!”出现在文本之前,我显示 orderData.id,在文本之后我显示买家的电子邮件 orderData.payer.email_address。

我使用沙盒并使用卡支付(卡的详细信息取自 developer.paypal.com)。付款完成,显示的 orderData.id 对应于付款。但是由于某种原因买家的电子邮件地址的值与之前的付款相对应。

那些。我进行了第一笔付款 - 显示了买家的正确电子邮件地址。然后我进行第二次付款并使用相同的银行卡详细信息,仅更改买家的电子邮件地址和姓名。在这种情况下,付款后,第一次付款的电子邮件地址会显示在页面上。然后我进行第三次付款 - 第二次付款的电子邮件地址显示在页面上。

为什么会这样?

我想显示付款详情,但我看到每次付款都显示正确的 ID,但显示的是上一次付款的电子邮件地址。

paypal sdk
© www.soinside.com 2019 - 2024. All rights reserved.