我在与Paypal智能按钮有关的一些代码方面有点问题,我不是代码专家,我有点涉猎,但可以提供一些帮助。
我已经设置了按钮,并且一切正常,但是我想这样做,以便客户可以输入他们希望支付的金额,但是到目前为止,我尝试的所有操作都失败了。
例如,如果客户A欠25英镑,则可以访问“付款”部分,输入25英镑,然后单击漂亮的新花式Paypal按钮。
从现在开始我希望找三天的时间,却陷入僵局,我一点都不知道,但还不足以解决问题。
<script src="https://www.paypal.com/sdk/js?client-id=xxxxxxx¤cy=GBP&commit=true">
</script>
<div id="paypal-button-container"></div>
<script>
paypal.Buttons({
createOrder: function(data, actions) {
// Set up the transaction
return actions.order.create({
purchase_units: [{
amount: {
value: '10'
}
}]
});
}
}).render('#paypal-button-container')
</script>
答案 0 :(得分:1)
您必须将金额动态传递给PayPal创建订单功能。 在功能中添加了输入字段和传递的金额-除此之外,您还可以通过向输入字段添加检查来检查负数和非0金额。 试试下面的基本代码,希望这能解决问题
<script src="https://www.paypal.com/sdk/js?client-id=xxxxxxx¤cy=GBP&commit=true">
</script>
<label>Enter amount : </label><input name="amount" type="text" id="amount" />
<!-- Set up a container element for the button -->
<div id="paypal-button-container"></div>
<script>
paypal.Buttons({
createOrder: function(data, actions) {
var amt = document.getElementById("amount").value;
// Set up the transaction
return actions.order.create({
purchase_units: [{
amount: {
value: amt
}
}]
});
}
}).render('#paypal-button-container')
</script>
答案 1 :(得分:0)
基于PayPal_vidya的示例,我使用了以下与最新的PayPal智能按钮代码配合使用的代码:
<div id="paypal-button-container">
<label>Enter amount : </label><input name="amount" type="text" id="amount" />
</div>
<script src="https://www.paypal.com/sdk/js?client-id=sb¤cy=USD" data-sdk-integration-source="button-factory"></script>
<script>
paypal.Buttons({
style: {
shape: 'rect',
color: 'gold',
layout: 'vertical',
label: 'paypal',
},
createOrder: function(data, actions) {
amt = document.getElementById("amount").value;
return actions.order.create({
purchase_units: [{
amount: {
value: amt
}
}]
});
},
onApprove: function(data, actions) {
return actions.order.capture().then(function(details) {
alert('Transaction completed by ' + details.payer.name.given_name + '!');
});
}
}).render('#paypal-button-container');
</script>