我有一个客户网站,他们要求在其网站上进行借方/贷方付款,我已经设置了智能付款设置,并且在该网站上似乎还可以,但是,我只是添加了一个检索网址中的变量(价格)智能按钮抛出错误代码,并且我认为这是因为要从网址中获取金额变量的javascript部分。但是,无论错误代码。
下面是我的代码示例
function getQueryVariable(variable)
{
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){return pair[1];}
}
return(false);
}
var sel = getQueryVariable("price");
paypal.Buttons({
createOrder: function(data, actions) {
return actions.order.create({
purchase_units: [{
amount: {
value: sel
}
}]
});
},
onApprove: function(data, actions) {
return actions.order.capture().then(function(details) {
alert('Transaction completed by ' + details.payer.name.given_name);
});
}
}).render('#paypal-button-container');
答案 0 :(得分:0)
尝试在成功时进行window.location.href
重定向,而不是显示警报,一切都应该很好
或者,您可以在呈现按钮之前保存对按钮的引用,然后在成功时将其关闭,并使用任何成功消息更新页面。
(未经测试)之类的东西:
window.myButtons = paypal.Buttons({
createOrder: function(data, actions) {
return actions.order.create({
purchase_units: [{
amount: {
value: sel
}
}]
});
},
onApprove: function(data, actions) {
return actions.order.capture().then(function(details) {
alert('Transaction completed by ' + details.payer.name.given_name);
window.myButtons.close();
document.getElementById('paypal-button-container').innerHTML = '<pre>' + JSON.stringify(details, null, 4) + '</pre>';
});
}
});
window.myButtons.render('#paypal-button-container');