Node.js Braintree Javascript集成问题-Braintree.Environment.Sandbox未定义错误?

Node.js Braintree Javascript集成问题-Braintree.Environment.Sandbox未定义错误?,node.js,braintree,Node.js,Braintree,我正在尝试使用Javascript和Node-JS集成Braintree支付解决方案 根据Braintree文档,我的html中有以下内容: <div id="panel-payment"> <div id="payment-form"></div> <input id="btn-checkout" type="submit" value="Process Order

我正在尝试使用Javascript和Node-JS集成Braintree支付解决方案

根据Braintree文档,我的html中有以下内容:

            <div id="panel-payment">
                <div id="payment-form"></div>
                <input id="btn-checkout" type="submit" value="Process Order">
            </div>
            <script>
            $(document).ready(function(){

                console.log(braintree); <---- defined AOK
                console.log(braintree.Environment); <---- undefined
                console.log(braintree.Environment.Sandbox); <---- undefined

                var clientToken = "...";
                braintree.setup(clientToken, "dropin", {
                    container: $("#payment-form")
                });
            });
            </script>

当我调用braintree.setup()函数时,我也会遇到可怕的“找不到有效的容器”,即使容器值$(“#付款表单”)是有效值,并且我在加载HTML时调用setup函数。

环境变量仅在NodeJS包中可用。 看

对于javascript中的客户端,您需要一个由服务器生成的有效令牌。 因此,您需要一个专用的路由,通过Braintree节点包传递令牌,如前所述

对于容器问题,尝试只将div的id传递给braintree,而不是jQuery元素

braintree.setup(clientToken, "dropin", {
   container: "payment-form"
});   

环境变量仅在NodeJS包中可用。 看

对于javascript中的客户端,您需要一个由服务器生成的有效令牌。 因此,您需要一个专用的路由,通过Braintree节点包传递令牌,如前所述

对于容器问题,尝试只将div的id传递给braintree,而不是jQuery元素

braintree.setup(clientToken, "dropin", {
   container: "payment-form"
});   

环境变量仅在NodeJS包中可用。 看

对于javascript中的客户端,您需要一个由服务器生成的有效令牌。 因此,您需要一个专用的路由,通过Braintree节点包传递令牌,如前所述

对于容器问题,尝试只将div的id传递给braintree,而不是jQuery元素

braintree.setup(clientToken, "dropin", {
   container: "payment-form"
});   

环境变量仅在NodeJS包中可用。 看

对于javascript中的客户端,您需要一个由服务器生成的有效令牌。 因此,您需要一个专用的路由,通过Braintree节点包传递令牌,如前所述

对于容器问题,尝试只将div的id传递给braintree,而不是jQuery元素

braintree.setup(clientToken, "dropin", {
   container: "payment-form"
});   
充分披露:我在Braintree工作。如果您还有任何问题,请随时联系

@chambo_e关于节点包上可访问的属性与Braintree.js上可访问的属性之间的差异的回答是正确的。“环境”属性仅在Braintree节点模块上可用

我猜您实际看到的错误是“未捕获无法找到有效的表单”,这是因为您的付款表单没有包含在表单元素中。默认情况下


$(文档).ready(函数(){
var clientToken=“从服务器生成的客户端令牌”;
设置(clientToken,“dropin”{
集装箱:$(“#付款单”)
});
});
如果希望它使用不同的表单,可以在安装调用中指定。看


setup(“CLIENT-TOKEN-FROM-SERVER”,“dropin”{
容器:“放置容器”,
表格:“结帐表格”
});
全面披露:我在Braintree工作。如果您还有任何问题,请随时联系

@chambo_e关于节点包上可访问的属性与Braintree.js上可访问的属性之间的差异的回答是正确的。“环境”属性仅在Braintree节点模块上可用

我猜您实际看到的错误是“未捕获无法找到有效的表单”,这是因为您的付款表单没有包含在表单元素中。默认情况下


$(文档).ready(函数(){
var clientToken=“从服务器生成的客户端令牌”;
设置(clientToken,“dropin”{
集装箱:$(“#付款单”)
});
});
如果希望它使用不同的表单,可以在安装调用中指定。看


setup(“CLIENT-TOKEN-FROM-SERVER”,“dropin”{
容器:“放置容器”,
表格:“结帐表格”
});
全面披露:我在Braintree工作。如果您还有任何问题,请随时联系

@chambo_e关于节点包上可访问的属性与Braintree.js上可访问的属性之间的差异的回答是正确的。“环境”属性仅在Braintree节点模块上可用

我猜您实际看到的错误是“未捕获无法找到有效的表单”,这是因为您的付款表单没有包含在表单元素中。默认情况下


$(文档).ready(函数(){
var clientToken=“从服务器生成的客户端令牌”;
设置(clientToken,“dropin”{
集装箱:$(“#付款单”)
});
});
如果希望它使用不同的表单,可以在安装调用中指定。看


setup(“CLIENT-TOKEN-FROM-SERVER”,“dropin”{
容器:“放置容器”,
表格:“结帐表格”
});
全面披露:我在Braintree工作。如果您还有任何问题,请随时联系

@chambo_e关于节点包上可访问的属性与Braintree.js上可访问的属性之间的差异的回答是正确的。“环境”属性仅在Braintree节点模块上可用

我猜您实际看到的错误是“未捕获无法找到有效的表单”,这是因为您的付款表单没有包含在表单元素中。默认情况下


$(文档).ready(函数(){
var clientToken=“从服务器生成的客户端令牌”;
设置(clientToken,“dropin”{
集装箱:$(“#付款单”)
});
});
如果希望它使用不同的表单,可以在安装调用中指定。看


setup(“CLIENT-TOKEN-FROM-SERVER”,“dropin”{
容器:“放置容器”,
表格:“结帐表格”
});

非常感谢您的评论。我的表单元素很好,但让我感到困惑的是没有在正确的环境中使用JS代码。我不知道Braintree有