PayPal 智能支付按钮 - 请求数量

Posted

技术标签:

【中文标题】PayPal 智能支付按钮 - 请求数量【英文标题】:PayPal smart payment buttons - request quantity 【发布时间】:2019-10-31 03:42:56 【问题描述】:

我正在使用 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>

【问题讨论】:

【参考方案1】:

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

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

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

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

在这两个代码中,应该在渲染按钮之前设置值,这意味着在加载页面之前。

【讨论】:

【参考方案2】:

在您的客户端上实现数量字段。您必须细分金额字段,然后在购买单位中添加“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,

             ]

       ],

【讨论】:

以上是关于PayPal 智能支付按钮 - 请求数量的主要内容,如果未能解决你的问题,请参考以下文章

Paypal 定期智能支付按钮

PayPal 智能支付按钮:如何更改语言

PayPal Checkout 与智能支付按钮的集成

使用旧状态的 PayPal 智能支付按钮

PayPal智能支付按钮与服务器端REST API集成

使用智能支付按钮(React + Redux)的 PayPal 结帐创建订单问题