无法在braintree结帐按钮中获得响应

时间:2017-09-20 05:51:57

标签: paypal paypal-sandbox braintree braintree-sandbox

我使用braintree paypal checkout付款,付款工作正常,但无法得到回应,这是我的代码

$('td:nth-child(6)', $this).text().trim().split(/\D+/).forEach(function(v, i) {
    $('span.result', $this)[i].innerHTML = Math.round((td2Value[i] * 100 / v) || 0) + '%';
}); 

但是无法在onsuccess功能中获得响应,任何人都可以告诉我如何才能获得此成功响应,

1 个答案:

答案 0 :(得分:1)

完全披露:我在Braintree工作。如果您有任何其他问题,请随时联系support

看起来您可能会在Braintree JSv2 Drop-In UI中使用Braintree JSv3 Drop-In UI混淆PayPal的实施。 JSv3不支持onSuccess选项。 JSv3中PayPal对象的完整配置选项列表为available here

根据您提供的代码,我建议您删除onSuccess回调函数。您仍然可以通过将代码放在instance.requestPaymentMethod回调函数中来实现所需的结果:

<script type="text/javascript">
  var form = document.querySelector('#payment-form');
  var client_token = "<?php echo \Braintree\ClientToken::generate(); ?>";

  braintree.dropin.create({
      authorization: client_token,
      selector: '#bt-dropin',
      paypal: {
          flow: 'vault'
      }
  }, function (createErr, instance) {
      if (createErr) {
          console.log('Error', createErr);
          return;
      }
      form.addEventListener('submit', function (event) {
          event.preventDefault();

          instance.requestPaymentMethod(function (err, payload) {
              if (err) {
                  console.log('Error', err);
                  return;
              }

              console.log("Payment confirmation");
              console.log(payload);
              alert('sdsdsd123');
              console.log(payload.nonce);

              // Add the nonce to the form and submit
              document.querySelector('#nonce').value = payload.nonce;
              form.submit();
          });
      });
  });
</script>