在braintree实现中从哪里获取customerId?

时间:2018-08-29 22:27:39

标签: node.js braintree

我正在将Braintree付款集成到我的iOS应用中,但仍处于Sandbox阶段。我已使用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
});

1 个答案:

答案 0 :(得分:0)

完全公开,我在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应用程序上下文中找到一个示例。

如果您使用保险柜,则需要传递客户ID作为customerId参数的值。您可以从customer response object属性中的id获取客户ID。为每个成功的客户API请求提供响应对象。例如,如果您正在创建客户,则创建和检索客户ID的过程将类似于以下内容:

gateway.customer.create({
  firstName: "Jen",
  lastName: "Smith",
  company: "Braintree",
  email: "jen@example.com",
  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
});