沙盒中的Braintree,带有Javascript SDK tokenizeCard return“;无法将卡标记化。”;
我正在使用Nodejs+javascriptsdk,在其中,我使用预定义的客户ID创建了一个新客户,它工作正常 现在,使用相同的客户Id,我在后端生成一个令牌并将其发送到客户端。现在在客户端我正在运行沙盒中的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
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对象,该对象具有一些额外的密钥,这些密钥不应作为请求的一部分,如文档中所述。