Скопировано непосредственно из учебника Braintree, вы можете создать клиентский токен с идентификатором клиента следующим образом:
gateway.clientToken.generate({
customerId: aCustomerId
}, function (err, response) {
clientToken = response.clientToken
});
Объявляю var aCustomerId = "customer"
, но node.js закрывается с ошибкой
new TypeError('first argument must be a string or Buffer')
Когда я пытаюсь создать токен без customerId, все работает нормально (хотя я никогда не получаю новый токен клиента, а другой вопрос).
EDIT: Вот полный тестовый код в соответствии с запросом:
var http = require('http'),
url=require('url'),
fs=require('fs'),
braintree=require('braintree');
var clientToken;
var gateway = braintree.connect({
environment: braintree.Environment.Sandbox,
merchantId: "xxx", //Real ID and Keys removed
publicKey: "xxx",
privateKey: "xxx"
});
gateway.clientToken.generate({
customerId: "aCustomerId" //I've tried declaring this outside this block
}, function (err, response) {
clientToken = response.clientToken
});
http.createServer(function(req,res){
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(clientToken);
res.end("<p>This is the end</p>");
}).listen(8000, '127.0.0.1');