沙盒中的Braintree,带有Javascript SDK tokenizeCard return“;无法将卡标记化。”;

沙盒中的Braintree,带有Javascript SDK tokenizeCard return“;无法将卡标记化。”;,javascript,node.js,braintree,Javascript,Node.js,Braintree,我正在使用Nodejs+javascriptsdk,在其中,我使用预定义的客户ID创建了一个新客户,它工作正常 现在,使用相同的客户Id,我在后端生成一个令牌并将其发送到客户端。现在在客户端我正在运行 var card = { number: '4111111111111111', cvv: '832', expirationMonth: '10', expirationYear: '2020', cardholderName: 'Ankur Ag

我正在使用Nodejs+javascriptsdk,在其中,我使用预定义的客户ID创建了一个新客户,它工作正常

现在,使用相同的客户Id,我在后端生成一个令牌并将其发送到客户端。现在在客户端我正在运行

    var card = {
    number: '4111111111111111',
    cvv: '832',
    expirationMonth: '10',
    expirationYear: '2020',
    cardholderName: 'Ankur Agarwal',

    billingAddress: {
      postalCode: '560076'
    },
  };

  var client = new braintree.api.Client({clientToken: clientToken});
  client.tokenizeCard(card, function (err, nonce) {


  // Got Error "Unable to tokenize card"

  })
这是它最初从服务器获得的http响应

/**/callback_json1({"error":{"message":"User does not have the required permissions for this action"},"fieldErrors":[],"status":403})

我已经在沙箱中为帐户启用了API访问

有一些额外的参数不在文档中,因此它的givng会做出这样的响应。一旦我从请求中删除了额外的参数,它就可以正常工作。

我遇到了类似的错误,它是由无效的客户端令牌引起的。我将
MerchantId
而不是
MerchantAccountId
作为参数传递

Gateway.ClientToken.generate(new ClientTokenRequest()
{
    MerchantAccountId = "Your MerchantAccountId" // NOT MerchantId
});

要管理您的商户帐户登录到Braintree控制面板,请转到设置->处理并向下滚动到商户帐户

我由于错误的clientToken而收到此错误。尝试使用预定义的令牌,但之后使用$clientToken=Braintree_clientToken::generate()在php中创建了它;所有的js代码都是完全相同的。此外,如果此时已执行某些操作,并且旧令牌无效,则可能会出现错误。额外的参数是什么?@hrehman当我尝试此操作时,我复制了json对象,该对象具有一些额外的密钥,这些密钥不应作为请求的一部分,如文档中所述。