Braintree与沙盒中的JavaScript SDK tokenizeCard返回“无法标记卡”。

我正在使用Nodejs + JavaScript的SDK中,我正在创build一个新的客户使用预定义的客户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访问权限

还有一些额外的参数不在文档中,由于它提供了这样的响应。 一旦我从请求中删除额外的参数,它的工作正常。

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

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

要pipe理您的商家帐户login到Braintree控制面板,请转到设置 – > 处理,然后向下滚动到商家帐户