Paypal 贝宝智能支付按钮-请求数量

Paypal 贝宝智能支付按钮-请求数量,paypal,paypal-sandbox,Paypal,Paypal Sandbox,我正在使用PayPal智能支付按钮在我的网站上销售单个项目,但我在任何文档中都找不到如何索要数量 智能支付按钮API甚至可以做到这一点吗 我只是想让客户能够更改他们想要购买的商品的数量。我不介意它是在贝宝的表单中还是在结账阶段 这是我迄今为止的代码,它非常标准,因为我试图保持简单: <script> // Render the PayPal button into #paypal-button-container paypal.Buttons({ st

我正在使用PayPal智能支付按钮在我的网站上销售单个项目,但我在任何文档中都找不到如何索要数量

智能支付按钮API甚至可以做到这一点吗

我只是想让客户能够更改他们想要购买的商品的数量。我不介意它是在贝宝的表单中还是在结账阶段

这是我迄今为止的代码,它非常标准,因为我试图保持简单:

<script>
    // Render the PayPal button into #paypal-button-container
    paypal.Buttons({
        style: {
            size: 'responsive',
            shape: 'pill',
            label: 'checkout',
        },
        // Set up the transaction
        createOrder: function(data, actions) {
            return actions.order.create({
                purchase_units: [{
                    amount: {
                        value: '8.99'
                    }
                }]
            });
        },

        // Finalize the transaction
        onApprove: function(data, actions) {
            return actions.order.capture().then(function(details) {
                // Show a success message to the buyer
                alert('Transaction completed by ' + details.payer.name.given_name + '!');
            });
        }


    }).render('#paypal-button-container');
</script>

//将PayPal按钮渲染到#PayPal按钮容器中
贝宝,按钮({
风格:{
尺寸:'响应',
形状:'药丸',
标签:“签出”,
},
//设置事务
createOrder:函数(数据、操作){
return actions.order.create({
购买单位:[{
金额:{
值:“8.99”
}
}]
});
},
//完成交易
onApprove:功能(数据、操作){
返回actions.order.capture().then(函数(详细信息){
//向买家显示成功消息
警报(“+details.payer.name.given_name+”!”完成的交易);
});
}
}).render(“#贝宝按钮容器”);

在客户机上实现数量字段。您必须细分金额字段,然后在采购单位中添加“项目总数”和“项目”字段

供参考:

createOrder: function(data, actions) {
     console.log(data);
       console.log(actions);
     return actions.order.create({
       purchase_units: [{

         amount: {
           value: (<HTMLInputElement>document.getElementById("number1")).value,
         breakdown: {
           item_total:{
             "currency_code": "EUR",
                 value: (<HTMLInputElement>document.getElementById("number1")).value,
               },
               tax_total: {
                 "currency_code": "EUR",
                 "value": "00.00"
               },
         }  
         },

           items: [
             {
               "name": "",
               "description": ".......",
               "sku": "sku01",
               "unit_amount": {
                 "currency_code": "EUR",
                 "value": "20.00"
               },
               "quantity": (<HTMLInputElement>document.getElementById("number")).value,

             }]

       }],
createOrder:函数(数据、操作){
控制台日志(数据);
控制台日志(操作);
return actions.order.create({
购买单位:[{
金额:{
value:(document.getElementById(“number1”)).value,
细分:{
项目u总计:{
“货币代码”:“欧元”,
value:(document.getElementById(“number1”)).value,
},
税款总额:{
“货币代码”:“欧元”,
“值”:“00.00”
},
}  
},
项目:[
{
“名称”:“,
“说明”:“…”,
“sku”:“sku01”,
“单位金额”:{
“货币代码”:“欧元”,
“值”:“20.00”
},
“数量”:(document.getElementById(“number”)).value,
}]
}],

我已经这样做了,但没有开账单。 我将最终价格“金额”作为价格乘以数量,并在我的数据库中保存账单的所有细节。 这是我使用的javascript代码:

 amount: {
         value: "<?= $_SESSION['price'] * $_SESSION['quantity'] ?>" ,
         currency_code: 'EUR'
 },
在这两种代码中,应在呈现按钮之前设置值,这意味着在加载页面之前

amount: {
         value: document.getElementById("quantity").value * document.getElementById("price").value ,
         currency_code: 'EUR'
 },