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 智能支付按钮 - 请求数量的主要内容,如果未能解决你的问题,请参考以下文章