我正在将Braintree付款整合到我的iOS应用程序中,仍然在沙盒阶段。我用我的api密钥将Braintree的代码粘贴到我的服务器上的node.js文件中,但在下面的代码片段中,来自https://developers.braintreepayments.com/start/hello-server/node,我不知道从哪里获取'aCustomerId',或者可能用什么代替它。
gateway.clientToken.generate({
customerId: aCustomerId
}, function (err, response) {
var clientToken = response.clientToken
});
完全披露,我在Braintree工作。如果您有任何其他问题,我建议您联系support。
首先,如果您没有使用Vault,则无需在客户端令牌生成请求中传递customerId
参数。相反,您的请求可能如下所示:
gateway.clientToken.generate({}, function (err, response) {
var clientToken = response.clientToken
});
这将为您提供一个客户端令牌,您可以将其传递给您的客户端以授权iOS SDK与Braintree进行交互。您可以在this Node example in our Github repo中的Node.js Web应用程序的上下文中找到此示例。
如果您使用的是Vault,则需要传递客户ID作为customerId
参数的值。您可以从customer response object属性中的id
获取客户ID。为每个成功的Customer API请求提供响应对象。例如,如果您正在创建客户,则创建和检索客户ID将类似于以下内容:
gateway.customer.create({
firstName: "Jen",
lastName: "Smith",
company: "Braintree",
email: "[email protected]",
phone: "312.555.1234",
fax: "614.555.5678",
website: "www.example.com"
}, function (err, result) {
result.success;
// true
result.customer.id;
// e.g. 494019
});
在此示例中,您可以将customerId
参数的值设置为"494019"
。这意味着您的原始代码可以修改为如下所示:
var aCustomerId = "494019";
gateway.clientToken.generate({
customerId: aCustomerId
}, function (err, response) {
var clientToken = response.clientToken
});