我正在尝试集成 PayPal 按钮以对我刚刚创建的新 Paypal 帐户执行简单的付款。 按照指南我渲染了按钮,但是当我点击它并出现新窗口时,没有任何反应。 “加载锁”不断旋转,但新窗口和我的页面中均未显示任何错误。不执行对“onError()”函数的调用。我不知道怎么了!我遵循了指南的指示!
浏览其他网站时,我在新窗口中看到,在加载(和“加载锁定”旋转)时执行了一些 get/post,但在我的情况下没有执行任何内容。
这是我的 HTML 和相关的 .js 文件(嗯,其中的一部分)
//THIS FUNCTION IS CALLED TO DISPLAY A NEW ELEMENT CONTAINING THE BUTTON
function payment(todelete) {
destroy(todelete);
$("#pay").delay(timeFade).fadeIn(timeFade);
paypal.Button.render({
env: 'sandbox',
client: {
sandbox: 'MYKEY',
production: 'MYKEY'
},
commit: true,
payment: function(data, actions) {
fetch("/getOldAmount").then(function(res){
return (res.json());
}).then(function(data){
var old_amount = data[0].Donation;
var amount_tot = $("#amount").val();
//BUILDING A RANDOM TEST JSON, NOT RELATED TO MY CODE
var payment_json = {
transactions: [
{
amount: {
total: '1.00',
currency: 'USD'
}
}
]
};
if(amount_tot > old_amount){
//WHEN CLICKING PAYPAL BUTTON I CAN SEE THIS LOG, SO EVERYTHING IS FINE HERE
console.log("EXECUTING PAYPAL POST");
return actions.payment.create(payment_json);
} else {
console.log("Amount too low to execute transaction");
}
});
},
onAuthorize: function(data, actions) {
return actions.payment.execute().then(function(payment) {
console.log("AUTHORIZED");
});
},
onError: function(data, actions){
console.log("ERRORRRRRR");
console.log(data);
}
}, '#paypal-button');
}
<div class="container pagination-centered" style="display: block">
<div class="form-group">
<label class="richest_header" for="amount">ENTER AMOUNT</label>
<input type="text" class="form-control amount-field" id="amount" placeholder="Amount..." name="amountField">
</div>
<div id="paypal-button"></div>
</div>
<!-- HEADER -->
[...]
<script src="https://www.paypalobjects.com/api/checkout.js">
<script type="text/javascript" src="assets/script/myscript.js"></script>
[...]
我需要做更多的事情吗? 我需要添加代码吗? 难道我做错了什么? 为什么 paypal 文档这么差?
最佳答案
您需要将 promise 返回给 payment()
-- return fetch("/getOldAmount").then(...
关于javascript - Paypal Express Checkout 窗口不断加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47445047/