我已经设置了贝宝付款流程。如果用户单击以“使用PayPal付款”,则会弹出一个弹出窗口,要求用户登录其Paypal帐户,然后从那里进行付款。此流程按原样工作。 我面临的问题是PayPal智能按钮JavaScript SDK提供的“用信用卡或借记卡付款”按钮。单击此按钮时,它不会像“使用贝宝付款”按钮那样打开弹出窗口。而是打开一个内联表单。 我见过一些网站,在这些网站上单击“用信用卡或借记卡付款”按钮会打开一个弹出窗口,其中显示了表单。 我想念什么?我浏览了他们的Smart Buttons API文档,他们没有提到如何在内联渲染和弹出窗口之间切换。 这是我配置SDK的方式:
paypal.Buttons({
enableStandardCardFields: true,
locale: 'en_US',
commit: true,
style: {
label: 'pay',
layout: 'vertical',
fundingicons: 'true'
},
funding: {
allowed: [ paypal.FUNDING.CARD ]
},
onInit: function(data, actions) {
actions.enable()
},
createOrder: function() {
$('div.loading-container').append('<h2>Processing your payment...</h2>')
return fetch('/create_order', {
method: 'post',
headers: {
'content-type': 'application/json'
}
}).then(function(res) {
return res.json();
}).then(function(data) {
return data.table.id;
});
},
onCancel: function(data) {
$('div.loading-container').empty()
return;
},
onApprove: function(data) {
return fetch('/capture_order', {
method: 'post',
headers: {
'content-type': 'application/json'
},
body: JSON.stringify({
orderID: data.orderID
})
}).then(function(res) {
return res.json();
}).then(function(details) {
if (details.status == 400) {
window.location.reload();
return;
}
window.history.pushState({ urlPath:'/orders/thanks' }, "" , '/orders/thanks' );
window.location.reload();
})
}
}).render('div.paypal_container');
注意:您可以在此link
中找到预期的行为答案 0 :(得分:0)
黑色的“借记卡”或“信用卡”按钮始终呈内嵌显示(例外:某些国家/地区未启用该按钮)。大多数人都希望这样做,并认为它很好。
无法使该黑色按钮打开一个窗口。您可以禁用黑色按钮,而只保留普通的PayPal按钮,这具有其他行为。