使用Braintree Dropin UI“未定义braintree”

时间:2019-01-06 23:29:43

标签: javascript braintree braintree-sandbox

我正在尝试遵循Braintree集成的基础知识,并且在看到阻碍作用的绊脚石之后遇到了绊脚石。

现在,我正在尝试查看Braintree的dropin用户界面,并使用他们的代码进行复制和粘贴,然后进入

  

“未定义braintree”

执行braintree.dropin.create时。

<div id="dropin-container"></div>
<button id="submit-button">Purchase</button>

<script src="https://js.braintreegateway.com/web/dropin/1.14.1/js/dropin.min.js"></script>

<script>
  var submitButton = document.querySelector('#submit-button');

  braintree.dropin.create({
    authorization: 'CLIENT_AUTHORIZATION',
    container: '#dropin-container'
  }, function (err, dropinInstance) {
    if (err) {
      // Handle any errors that might've occurred when creating Drop-in
      console.error(err);
      return;
    }
    submitButton.addEventListener('click', function () {
      dropinInstance.requestPaymentMethod(function (err, payload) {
        if (err) {
          // Handle errors in requesting payment method
        }

        // Send payload.nonce to your server
      });
    });
  });
</script>

有人对如何使该插件起作用有任何建议吗?

编辑: 就开发堆栈而言,我正在Django环境中创建它,并同时使用JavaScript库和Python库进行测试。我正在尝试使用javascript库的这种特定实现。

2 个答案:

答案 0 :(得分:0)

我通过重新使用以下代码解决了自己的问题:

https://developers.braintreepayments.com/start/hello-client/javascript/v3

<head>
  <meta charset="utf-8">
  <script src="https://js.braintreegateway.com/web/dropin/1.14.1/js/dropin.min.js"></script>
</head>
<body>
  <div id="dropin-container"></div>
  <button id="submit-button">Request payment method</button>
  <script>
    var button = document.querySelector('#submit-button');

    braintree.dropin.create({
      authorization: 'CLIENT_TOKEN_FROM_SERVER',
      container: '#dropin-container'
    }, function (createErr, instance) {
      button.addEventListener('click', function () {
        instance.requestPaymentMethod(function (err, payload) {
          // Submit payload.nonce to your server
        });
      });
    });
  </script>
</body>

然后我通过Python库提供了CLIENT_TOKEN_FROM_SERVER。有效。

答案 1 :(得分:0)

我遇到了类似的问题,并移动了dropin.create的代码,使其在页面加载后问题就消失了