Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何插入Braintree clientToken?_Javascript_Node.js_Braintree - Fatal编程技术网

Javascript 如何插入Braintree clientToken?

Javascript 如何插入Braintree clientToken?,javascript,node.js,braintree,Javascript,Node.js,Braintree,Braintree文档说您创建了一个环境,如他们的示例中所示var gateway=Braintree.connect(环境变量),然后通过执行以下操作创建一个clientToken gateway.clientToken.generate({}, function (err, response) { var clientToken = response.clientToken; }); 然后他们的示例说将客户机令牌插入用于支付的表单中 braintree.setup("CLIEN

Braintree文档说您创建了一个环境,如他们的示例中所示
var gateway=Braintree.connect(环境变量)
,然后通过执行以下操作创建一个
clientToken

gateway.clientToken.generate({}, function (err, response) {
    var clientToken = response.clientToken;
  });
然后他们的示例说将客户机令牌插入用于支付的表单中

braintree.setup("CLIENT-TOKEN-FROM-SERVER", "custom", {id: "checkout"});
但它们也声明clientToken是一个对象。我看不到如何获取令牌值,返回值只是一个布尔值。我发现使用
typeof()
gateway.clientToken
报告为对象

在Stackoverflow上,我看到一些人说clientToken对象应该是base64编码的值,但您是如何做到这一点的?Braintree的代码不应该这样做吗

所以我在某个地方遗漏了一步,或者我找不到正确的文档,但我肯定是迷路了

编辑:根据Braintree的回复,在下面的答案中,我尝试过的任何表单中的response.clientToken都没有填充clientToken,这是很多表单。看看网上的例子,这些例子很少,还有Braintree的light文档,看起来我做的一切都是对的

编辑2:我的答案如下。

我在Braintree工作。如果您有更详细的问题,请

听起来你把
gateway.clientToken
和客户端令牌本身搞混了,前者是允许你获取客户端令牌的对象,后者是由
gateway.clientToken.generate
s回调--
response.clientToken
接收的

一旦您拥有了令牌(这里,
var-clientToken
),您就需要将其发送给您的客户机。从:

有很多方法可以将客户端令牌转换为JavaScript,这样就可以设置Braintree。许多人选择将客户机令牌插入到包含JavaScript以设置Braintree的视图中


问题在于您将代码放在何处,以便在任何node.js调用中与Braintree交互。在我的例子中,我把它放在
http.createServer
中,这样我就可以在调试时写出值,但这一切的某些部分不起作用。我还没有弄清楚确切的细节

此外,Braintree中的示例代码显示了
gateway.clientToken.generate()
调用中的clientToken,这会让我认为它属于那里,即使我不理解如何提取该标记值。所以,将clientToken移出那个电话,这是我曾经尝试过的,至少部分解决了这个问题

我说“部分”是因为你要为每个新客户创建一个新的代币,而这不能通过这种方式实现。我仍然需要确定如何在每次新客户访问时生成新令牌。这可能只是让它成为另一个函数调用的问题,但我还没有尝试过


此外,我还不清楚是否需要创建新客户。我读到的答案是否定的,但我也读到了答案是肯定的,所以很困惑,但这可能是另一个问题主题。

你误解了我的问题。我无法获取clientToken。