我正在尝试遵循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库的这种特定实现。
答案 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的代码,使其在页面加载后问题就消失了