我正在使用贝宝(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>
答案 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,
}]
}],