我正在添加一个 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,但显示的是上一次付款的电子邮件地址。