braintree.paypalCheckout.create将动态金额添加到贝宝按钮

时间:2019-11-05 16:15:32

标签: paypal paypal-sandbox braintree paypal-rest-sdk braintree-sandbox

我将HostedFields用于信用卡,将PayPal Web用于PayPal。 因此,在braintree.client.create内部,我有braintree.hostedFields.createbraintree.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,但是从托管字段得到的错误已经创建了一个实例,并且对于贝宝,我可以接收多个按钮。

0 个答案:

没有答案