贝宝智能付款按钮-要求数量

时间:2019-06-17 14:12:50

标签: paypal paypal-sandbox

我正在使用贝宝(PayPal)智能付款按钮在网站上出售一件商品,但是在任何文档中都找不到如何索取数量的信息。

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

我只想为客户提供更改他们想要购买的商品数量的能力。我不介意它是在PayPal的表单中还是在结帐阶段。

到目前为止,这是我的代码,这很标准,因为我正努力使其简单:

<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>

2 个答案:

答案 0 :(得分:0)

我已经做到了,但没有提出法案。 我将最终价格“金额”乘以价格乘以数量,然后在数据库中保存了帐单的所有详细信息。 这是我使用的JavaScript代码:

 amount: {
         value: "<?= $_SESSION['price'] * $_SESSION['quantity'] ?>" ,
         currency_code: 'EUR'
 },

您可以使用Javascript代替服务器代码,

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

在两种代码中,都应在呈现按钮之前(即在加载页面之前)设置值。

答案 1 :(得分:-1)

在客户上实施数量字段。您必须细分“金额”字段,然后在购买单位中添加“ item_total”和“ items”字段。

供您参考:

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,

             }]

       }],