Javascript 如何插入Braintree clientToken?
Braintree文档说您创建了一个环境,如他们的示例中所示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
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。