Paypal javascript sdk onClick 无法阻止弹出窗口显示
Paypal javascript sdk onClick not prevent popup showing
我按照这个documentation集成paypal javascript sdk。我想在点击 paypal 按钮后验证用户输入,如果验证失败则阻止 paypal window 显示。
paypal.Buttons({
onClick: function(data, actions) {
console.log('click >>>>>')
return actions.reject();
// return false;
},
createOrder: function(data, actions) {
return fetch('/checkout/submit/paypal/create_order', {
method: 'post',
headers: {
'content-type': 'application/json'
},
body: JSON.stringify(_this.getSubmitData())
}).then(function(res) {
return res.json();
}).then(function(detial) {
return detial.orderId
});
},
onApprove: function(data, actions) {
// data > { billingToken, facilitatorAccessToken, orderID, payerID, paymentID }
return fetch('/checkout/submit/paypal/capture_order?orderId=' + data.orderID, {
method: 'post',
headers: {
'content-type': 'application/json'
},
}).then(function(res) {
return res.json();
}).then(function(details) {
console.log(details);
})
}
}).render('#paypal-button-container');
当我点击 paypal 按钮时,控制台显示我的消息 click >>>>>
和一个新的 window 显示并立即消失。
我认为它不应该显示新的 window。
I don't think it should show a new window.
尽管如此,如果您拒绝 onClick
.
,这就是它的工作原理
要防止弹出窗口打开,您需要禁用 onInit
中的按钮并添加一个侦听器以在适当的时候重新启用它们,如 the link in your question.
中所述
我按照这个documentation集成paypal javascript sdk。我想在点击 paypal 按钮后验证用户输入,如果验证失败则阻止 paypal window 显示。
paypal.Buttons({
onClick: function(data, actions) {
console.log('click >>>>>')
return actions.reject();
// return false;
},
createOrder: function(data, actions) {
return fetch('/checkout/submit/paypal/create_order', {
method: 'post',
headers: {
'content-type': 'application/json'
},
body: JSON.stringify(_this.getSubmitData())
}).then(function(res) {
return res.json();
}).then(function(detial) {
return detial.orderId
});
},
onApprove: function(data, actions) {
// data > { billingToken, facilitatorAccessToken, orderID, payerID, paymentID }
return fetch('/checkout/submit/paypal/capture_order?orderId=' + data.orderID, {
method: 'post',
headers: {
'content-type': 'application/json'
},
}).then(function(res) {
return res.json();
}).then(function(details) {
console.log(details);
})
}
}).render('#paypal-button-container');
当我点击 paypal 按钮时,控制台显示我的消息 click >>>>>
和一个新的 window 显示并立即消失。
我认为它不应该显示新的 window。
I don't think it should show a new window.
尽管如此,如果您拒绝 onClick
.
要防止弹出窗口打开,您需要禁用 onInit
中的按钮并添加一个侦听器以在适当的时候重新启用它们,如 the link in your question.