You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Classic ASP集成Braintree Drop-in UI:Client Token传递及加载问题

Classic ASP集成Braintree Drop-in UI:Client Token传递问题解决

核心结论

直接传递从Braintree接口返回的完整Base64格式clientToken字符串即可,无需解码,也不需要单独提取authorizationFingerprint。

步骤说明

  1. 正确提取Client Token
    从你获取的返回数据中,取data.createClientToken.clientToken对应的值,也就是这段Base64字符串:

    eyJ2ZXJzaW9uIjoyLCJhdXRob3JpemF0aW9uRmluZ2VycHJpbnQiOiJleUowZVhBaU9pSktWMVFpTENKaGJHY2lPaUpGVXpJMU5pSXNJbXRwWkNJNklqSXdNVGd3TkRJMk1UWXRjMkZ1WkdKdmVDSXNJbWx6Y3lJNkltaDBkSEJ6T2k4dllYQnBMbk5oYm1SaWIzZ3VZbkpoYVc1MGNtVmxaMkYwWlhkaGVTNWpiMjBpZlEuZXlKbGVIQWlPakUyT0RBNE1EQXhPRGtzSW1wMGFTSTZJbUl4TlRrM05Ea3pMVEUxT0VU0QifX0=
    

    把这个值完整赋值给Drop-in配置的authorization参数。

  2. 排查代码问题

    • 检查<%=braintreeClientToken%>输出的内容:确保它是上述完整的Base64字符串,没有被截断、HTML转义或者添加额外字符。
    • 查看浏览器控制台错误:打开F12开发者工具,切换到Console标签,查看是否有Braintree相关的报错信息(如授权无效、网络请求失败),这是定位加载失败的关键。
  3. 修正后的客户端代码示例

    <script src="https://js.braintreegateway.com/web/dropin/1.36.0/js/dropin.min.js"></script>
    <!-- Step one: add an empty container to your page -->
    <form id="payment-form" action="/route/on/your/server" method="post">
        <div id="dropin-container"></div>
        <button id="submit-button" class="button button--small button--green">Purchase</button>
    </form>
    
    <script type="text/javascript">
        $(document).ready(function () {
            var button = document.querySelector('#submit-button');
    
            braintree.dropin.create({
                authorization: '<%=braintreeClientToken%>', // 确保这里输出完整Base64格式的clientToken
                container: '#dropin-container'
            }, function (createErr, instance) {
                // 先检查实例创建错误
                if (createErr) {
                    console.error('Drop-in 创建失败:', createErr);
                    return;
                }
                button.addEventListener('click', function () {
                    instance.requestPaymentMethod(function (err, payload) {
                        if (err) {
                            console.error('获取支付方式失败:', err);
                            return;
                        }
                        // 将payload.nonce提交到你的服务器
                    });
                });
            });
        })
    </script>
    

额外排查点

  • 确认Drop-in版本兼容性:你使用的1.36.0版本支持v2版本的Client Token,无版本兼容问题。
  • 检查域名白名单:在Braintree后台(沙箱/生产环境)确认当前页面域名已添加到允许列表中。
  • 环境一致性:确保Client Token是从对应环境获取的(沙箱用sandbox接口,生产用production接口)。

内容的提问来源于stack exchange,提问作者nuclearsiloman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 11:17:13