簡體   English   中英

PayPal客戶端REST:動態價格

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM