Braintree,如何将应用程序生成的 ID 用于新客户

Braintree, How to use application generated ids with a new customer

所以我有简单的基于 java 的服务器后端。我想创建一个空客户并使用在我的应用程序中生成的 id,而不是 braintree 分配的 id。我尝试使用这种方法:

String testId = "12345678";

log.info("Create customer with id: " + testId);
    CustomerRequest customerRequest = new CustomerRequest()
            .customerId(testId)
            .firstName("Martin")
            .lastName("Mojko");
braintreeGateway.customer().create(customerRequest);

然而,setter customerId 被忽略并且 braintree 为该客户分配了不同的 id。 有什么办法可以使用自己的id吗?

您可能必须自己存储您的 ID 和他们的 ID 之间的映射。

这是非常典型的第 3 方服务。毕竟,您提供给他们的 ID 可能与他们的 ID 生成方案不匹配,或者可能已经在使用中,所以他们不能自己使用。

完全披露:我在 Braintree 工作。如果您有任何其他问题,请随时联系 support.

您应该使用 .id 而不是 .customerId 将您生成的 ID 分配给您的客户。该请求将如下所示:

CustomerRequest request = new CustomerRequest()
  .id(testId)
  .firstName("Martin")
  .lastName("Mojko");

Result<Customer> result = gateway.customer().create(request);