javascript - 动态添加变量到 Paypal 按钮渲染

标签 javascript paypal

我正在学习 Paypal 快速入门教程。我有一个输入字段,用于捕获用户输入的金额。在 javascript 中有什么方法可以动态更改以下脚本的数量。我试过添加一个全局变量,但它不起作用。

<div id="paypal-button"></div>
<script src="https://www.paypalobjects.com/api/checkout.js"></script>
<script>
    paypal.Button.render({
        // Configure environment
        env: 'sandbox',
        client: {
            sandbox: 'demo_sandbox_client_id',
            production: 'demo_production_client_id'
        },
        // Customize button (optional)
        locale: 'en_US',
        style: {
            size: 'small',
            color: 'gold',
            shape: 'pill',
        },

       // Enable Pay Now checkout flow (optional)
       commit: true,

       // Set up a payment
       payment: function(data, actions) {
          return actions.payment.create({
                transactions: [{
                    amount: {
                        total: '0.01',
                        currency: 'USD'
                    }
                }]
           });
         },
         // Execute the payment
         onAuthorize: function(data, actions) {
             return actions.payment.execute().then(function() {
             // Show a confirmation message to the buyer
             window.alert('Thank you for your purchase!');
         });
     }
 }, '#paypal-button');

最佳答案

在交易中,它可以像从字段中获取输入值一样简单,例如:

transactions: [{
  amount: {
    total: document.getElementById("paymentInput").value,
    currency: 'USD'
  }
}]

虽然在盲目接受他们的键盘输入之前我也会做一些输入卫生。

这是一个工作示例:

document.getElementById("submitButton").addEventListener("click", handleSubmit);

function handleSubmit() {
  let payment = function(data, actions) {
    return {
      transactions: [{
        amount: {
          total: document.getElementById("paymentInput").value,
          currency: 'USD'
        }
      }]
    }
  }
  
  console.log(`payment of ${payment().transactions[0].amount.total} submitted`)

}
<input id="paymentInput" />
<button id="submitButton">Submit</button>

关于javascript - 动态添加变量到 Paypal 按钮渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54258914/

相关文章:

javascript - 如何读取CORS中间件中的自定义 header

html - 样式不适用于 iframe 内容

paypal - PayPalRest API无法读取流

javascript - 如何通过多个图像循环 div 的背景 url?

javascript - Webpack + React : pass commit SHA from webpack to JS

快速结帐中的 Paypal 和自定义按钮

php - 德国付款人的 Paypal 定期付款

Paypal 沙箱不再工作

javascript - jQuery $.inArray() 无法与使用 jQuery makeArray() 制作的数组正常工作

javascript - 插件 gulp-babel : Plugin/Preset files are not allowed to export objects, 中的错误仅起作用