[英]PayPal Client-Side REST: dynamic prices
我正在為我的項目使用PayPal客戶端REST。 我有不同的產品,每個都有不同的價格。 我有一個文本框,其中包含購物車中所有產品的總價。 但是,當我嘗試獲取該文本框的值時,我遇到了貝寶API錯誤。 下面是我的代碼:
<input type="number" id="total_amount">
<div id="paypal-button-container" class="text-right"></div>
<script src="https://www.paypalobjects.com/api/checkout.js"></script>
<script>
var amt = $('#total_amount').val();
paypal.Button.render({
env: 'sandbox',
client: {
sandbox: '<sandbox_api_ey>',
production: '<insert production client id>'
},
payment: function(data, actions) {
var amt = $('#total_amount').val();
return actions.payment.create({
payment: {
transactions: [
{
amount: { total: amt, currency: 'JPY' }
}
]
}
});
},
onAuthorize: function(data, actions) {
return actions.payment.execute().then(function() {
window.alert('Payment Complete!');
});
}
}, '#paypal-button-container');
</script>
從代碼中可以看到,我將金額存儲在變量var amt = $('#total_amount').val();
然后在json中使用該變量。
我的問題是我在控制台中收到此錯誤,並且無法打開Paypal窗口。
它指向貨幣,但是我很確定每當我對它的功能進行硬編碼時,它都是正確的。
您可以嘗試類似
payment: function (data, actions) {
var x = document.getElementById("total_amount");
var currentVal = x.value;
console.log(currentVal);
return actions.payment.create({
transactions: [{
amount: {
total: currentVal,
currency: 'JPY'
}
}]
});
}
另外,請確保在HTTPS環境中進行測試
在此處查看完整的工作片段
<iframe width="100%" height="300" src="//jsfiddle.net/vwas4cqj/embedded/" allowfullscreen="allowfullscreen" allowpaymentrequest frameborder="0"></iframe>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.