用于设置交易金额的PayPal HTML变量

用于设置交易金额的PayPal HTML变量,paypal,Paypal,我正在为一家小企业制作一个投资筹款页面,我正在尝试创建一个定制的PayPal按钮,在该按钮中,捐款金额由滑块设置。原因是,企业不想接受低于一定金额的贷款,但他们不想限制人们的选择数量(大多数PayPal按钮为人们提供有限的捐赠金额选择)。他们希望能够从500美元到38000美元之间选择任何金额。其想法是,他们将使用滑块选择该金额,然后单击一个按钮,将他们带到该金额的付款屏幕。代码位于我的GitHub上。上的滑块和paypal按钮处于启用状态invate.html 我已经研究过了,但是我对后端的东

我正在为一家小企业制作一个投资筹款页面,我正在尝试创建一个定制的PayPal按钮,在该按钮中,捐款金额由滑块设置。原因是,企业不想接受低于一定金额的贷款,但他们不想限制人们的选择数量(大多数PayPal按钮为人们提供有限的捐赠金额选择)。他们希望能够从500美元到38000美元之间选择任何金额。其想法是,他们将使用滑块选择该金额,然后单击一个按钮,将他们带到该金额的付款屏幕。代码位于我的GitHub上。上的滑块和paypal按钮处于启用状态
invate.html

我已经研究过了,但是我对后端的东西还很陌生,所以我不确定如何实现提供的信息。我想我需要以某种方式访问HTML变量
amount
,但我不确定如何访问。目前,滑块对生成的paypal页面没有影响;用户将进入显示“$0.01”的页面。我希望滑块设置
金额
,这样当用户单击paypal按钮时,会出现一个包含他们所选金额的付款页面,而不是显示“$0.01”的页面

注意:
generate.html
页面目前仅为移动设备设计,因此如果可能,请在Chrome上的devtools移动视图中查看,否则在常规桌面窗口中所有内容都将非常庞大。它仍然可以工作,但它是巨大的

  $('.slider').slider({
    max: 38000,
    min: 500,
    step: 100,
    value: 500,
  });

function getLoanAmount() {
    var loanAmount = $('.loanamount');
    var $selection = $( ".slider" ).slider( "value" );
    $(loanAmount).text($selection);
  }

  getLoanAmount();

  $('.slider').on('slide', function() {
    getLoanAmount();
  });

  $(".slider").on( "slidestop", function() {
    var $amount = $('.loanamount').text();
    $( ".slider" ).slider( "option", "value", $amount );
    $('a.paypalbutton').attr('href', 'https://www.paypal.com/donate?hosted_button_id=LR2YL2LXSYSTQ&amount=' + $amount);
  });

  $('button.submitloan').on('click', function() {
    $('.loan-setter').slideUp();
    $('#smart-button-container').css('display', 'block');
  });

对于用于重定向的经典纯HTML按钮:

使用类型为“立即捐赠”或“立即购买”的非托管按钮(无托管按钮id)

转到,登录,开始创建您的按钮,但在创建按钮之前,请确保在步骤2中取消选中在PayPal上保存按钮的选项,以便将其取消注册

生成代码后,单击其上方以删除代码保护

现在,您有了可以复制和编辑的代码,如果您喜欢URL,也可以使用“电子邮件”选项卡。要添加/修改的输入参数为“金额”,如下所示



要获得更好的JS上下文支付体验,请使用智能结帐按钮;下面是一个示例实现:

用于重定向的经典纯HTML按钮:

使用类型为“立即捐赠”或“立即购买”的非托管按钮(无托管按钮id)

转到,登录,开始创建您的按钮,但在创建按钮之前,请确保在步骤2中取消选中在PayPal上保存按钮的选项,以便将其取消注册

生成代码后,单击其上方以删除代码保护

现在,您有了可以复制和编辑的代码,如果您喜欢URL,也可以使用“电子邮件”选项卡。要添加/修改的输入参数为“金额”,如下所示



要获得更好的JS上下文支付体验,请使用智能结帐按钮;下面是一个示例实现:

我通过复制getLoanAmount函数的$selection变量从滑块中获得了新的金额。它最初是一个名为amountnumeric的变量,因为它是一个数值。然后$amount使用toString()将其设置为文本字符串,以便您可以将其作为您想要显示的金额传递到您的paypal URL中。控制台日志可以显示它如何将其从数字格式化为字符串,如果这有助于看出差异的话

贝宝上的金额最初仍显示为0.00美元。我了解到,如果你的paypal捐赠按钮是“托管”的,那么作为安全预防措施,不可能更改金额值或任何预设数字。不确定你的paypal按钮是设置为“托管”还是“非托管”,但我可能会检查一下

我以前没有和PayPal合作过,我只是快速浏览了一些关于它和他们网站的答案。但这至少可以修复更新的滑块值


通过复制getLoanAmount函数的$selection变量,我从滑块中获得了新的金额。它最初是一个名为amountnumeric的变量,因为它是一个数值。然后$amount使用toString()将其设置为文本字符串,以便您可以将其作为您想要显示的金额传递到您的paypal URL中。控制台日志可以显示它如何将其从数字格式化为字符串,如果这有助于看出差异的话

贝宝上的金额最初仍显示为0.00美元。我了解到,如果你的paypal捐赠按钮是“托管”的,那么作为安全预防措施,不可能更改金额值或任何预设数字。不确定你的paypal按钮是设置为“托管”还是“非托管”,但我可能会检查一下

我以前没有和PayPal合作过,我只是快速浏览了一些关于它和他们网站的答案。但这至少可以修复更新的滑块值


所以,智能支付按钮实际上是我的起点。我修改了该示例中的paypal代码,并添加了一行,以根据滑块的值更改金额。我不确定它是否有效,我也不知道如何测试。我将更新问题以显示我修改的代码。此外,我知道文档在哪里,我在问题中链接到了同一页。我的问题是我不明白如何使用文档中提供的信息。我不知道如何在我的代码中实现“amount”参数并使其按我所希望的方式工作!所以,智能支付按钮实际上是我的起点。我修改了该示例中的paypal代码,并添加了一行,以根据滑块的值更改金额。我不确定它是否有效,我也不知道如何测试。我将更新问题以显示我修改的代码。此外,我知道文档在哪里,我在问题中链接到了同一页。我的问题是我不明白如何使用文档中提供的信息。我不知道如何在我的代码中实现“amount”参数并使其按我所希望的方式工作!
<div class="slider"></div>
<!-- PayPal Widget -->
<a href="https://www.paypal.com/donate?hosted_button_id=LR2YL2LXSYSTQ" class="paypalbutton">
<img src="https://www.paypalobjects.com/webstatic/en_US/i/btn/png/btn_buynow_107x26.png" alt="Buy Now" />
</a>
function initPayPalButton() {
    paypal.Buttons({
      style: {
        shape: 'pill',
        color: 'white',
        layout: 'vertical',
        label: 'paypal',
  
      },
  
      createOrder: function(data, actions) {
        var $amount = $('.loanamount').text();
        $('.dollaramount').text($amount);
        return actions.order.create({
          purchase_units: [{"amount":{"currency_code":"USD","value": $amount}}]
        });
      },
  
      onApprove: function(data, actions) {
        return actions.order.capture().then(function(details) {
          alert('Transaction completed by ' + details.payer.name.given_name + '!');
        });
      },
  
      onError: function(err) {
        console.log(err);
      }
    }).render('#paypal-button-container');
  }
  initPayPalButton();
function getLoanAmount() {
  var loanAmount = $('.loanamount');
  var $selection = $( ".slider" ).slider( "value" );
  $(loanAmount).text($selection);

  console.log(($selection));
  console.log($(loanAmount).text($selection));
 }

 getLoanAmount();

 $('.slider').on('slide', function() {
getLoanAmount();
});


$(".slider").on( "slidestop", function() {
 var $amountNumeral = $( ".slider" ).slider( "value" );
 console.log($amountNumeral);
 var $amount = $amountNumeral.toString();
 console.log('$amount');

 $( ".slider" ).slider( "option", "value", $amount );

 $('a.paypalbutton').attr('href', 'https://www.paypal.com/donate?hosted_button_id=LR2YL2LXSYSTQ&currency_code=USD&amount=10.00');
});