Использование Braintree Dropin UI "Braintree не определен" - PullRequest
0 голосов
/ 07 января 2019

Я пытаюсь следовать основам интеграции Брэйнтри и сталкиваюсь с камнем преткновения после блока преткновения, видя поток в действии.

Прямо сейчас я пытаюсь взглянуть на Dropin UI для Braintree и, используя их код, скопировать и вставить, я сталкиваюсь с

"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>

Есть ли у кого-нибудь какие-либо рекомендации о том, как заставить работать этот дропин?

Edit: Что касается стека разработки, я создаю его в среде Django и тестирую как с библиотекой JavaScript, так и с библиотекой Python. Именно эту реализацию я пытаюсь использовать библиотеку javascript.

1 Ответ

0 голосов
/ 12 января 2019

Я решил свою проблему, начав заново и используя этот код:

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>

Затем я предоставил CLIENT_TOKEN_FROM_SERVER через библиотеку Python. Работает.

...