我将HostedFields用于信用卡,将PayPal Web用于PayPal。
因此,在braintree.client.create
内部,我有braintree.hostedFields.create
和braintree.paypalCheckout.create
。
贝宝的代码示例:
braintree.paypalCheckout.create({
client: clientInstance
}, function (paypalCheckoutErr, paypalCheckoutInstance) {
if (paypalCheckoutErr) {
console.error('Error creating PayPal Checkout:', paypalCheckoutErr);
return;
}
paypal.Button.render({
env: 'sandbox',
commit: true,
buttonStyle: {
color: 'blue',
shape: 'rect',
size: 'medium'
},
payment: function () {
return paypalCheckoutInstance.createPayment({
flow: 'checkout',
locale: ''+langanalytics+'',
amount: '10.00',
currency: 'EUR'
});
},
onAuthorize: function (data, actions) {
return paypalCheckoutInstance.tokenizePayment(data, function (err, payload) {
document.getElementById("paynonce").value = payload.nonce;
document.getElementById("paymentform").submit();
});
},
onCancel: function (data) {
console.log('checkout.js payment cancelled', JSON.stringify(data, 0, 2));
},
onError: function (err) {
console.error('checkout.js error', err);
}
}, '#paypal-button').then(function () {
});
});
问题在于,根据我的客户,他想要单页结帐,该结帐是动态生成的。
例如,如果有人更改国家/地区或付款方式,则价格可能会更改为€。单击EventListener,开始计算并实时更改总和。
我的问题:
我无法更改此部分的贝宝初始化次数:
return paypalCheckoutInstance.createPayment({
flow: 'checkout',
locale: ''+langanalytics+'',
amount: '10.00',
currency: 'EUR'
});
一旦总和发生变化(我对此拥有完全控制权),是否有任何方法可以更新该功能的外地金额。
我已经尝试在总和更改上实例化整个新的braintree.client.create
,但是从托管字段得到的错误已经创建了一个实例,并且对于贝宝,我可以接收多个按钮。