好的,感谢@rhldr 指出这个特定的文档。
答案在此页面https://developer.cybersource.com/api/developer-guides/dita-flex/SAFlexibleToken/FlexMicroform/GetStarted.html的“使用令牌”下。
注意:其他一些文档(不知道为什么它们有许多文档变体),就像这个一样,根本没有提到这一点。
请参阅 RESTPaymentAPI 部分。它需要作为 customerId 字段提供。
"paymentInformation": {
"customer": {
"customerId": "7500BB199B4270EFE05340588D0AFCAD"
}
}
这是一个如何在 API 端实现它的最小示例
var cybersourceRestApi = require('cybersource-rest-client');
var configuration = require('./cybersource/config.js');
var configObject = new configuration();
var instance = new cybersourceRestApi.PaymentsApi(configObject);
var clientReferenceInformation = new cybersourceRestApi.Ptsv2paymentsClientReferenceInformation();
clientReferenceInformation.code = 'test_payment';
var processingInformation = new cybersourceRestApi.Ptsv2paymentsProcessingInformation();
processingInformation.commerceIndicator = 'internet';
var amountDetails = new cybersourceRestApi.Ptsv2paymentsOrderInformationAmountDetails();
amountDetails.totalAmount = "100.00";
amountDetails.currency = 'USD';
var orderInformation = new cybersourceRestApi.Ptsv2paymentsOrderInformation();
orderInformation.amountDetails = amountDetails;
var paymentInformation = new cybersourceRestApi.Ptsv2paymentsPaymentInformation();
// THIS IS THE IMPORTANT BIT
var customer = new cybersourceRestApi.Ptsv2paymentsPaymentInformationCustomer()
customer.customerId = token
paymentInformation.customer = customer
var request = new cybersourceRestApi.CreatePaymentRequest();
request.clientReferenceInformation = clientReferenceInformation;
request.processingInformation = processingInformation;
request.orderInformation = orderInformation;
request.paymentInformation = paymentInformation;
if (!authoriseOnly) {
request.processingInformation.capture = true;
}
基于 CyberSource nodejs REST 示例的代码:https ://github.com/CyberSource/cybersource-rest-samples-node
更多信息。一旦你知道在哪里看,它实际上在几个地方得到了解释。
例如,转到https://developer.cybersource.com/cybs-dev-api-ref/index.html#payments-process-a-payment,展开下面的“请求字段描述”并转到
customer
.. customerId
客户卡和账单信息的唯一标识符。
当您使用支付标记化或定期计费并在您的请求中包含此值时,授权或信用通常需要的许多字段将变为可选字段。
注意当您使用支付令牌化或定期计费时,客户 ID 的值实际上是客户的 Cybersource 支付令牌。该令牌存储消费者卡号等信息,因此可用于账单支付、定期支付或一次性支付。通过在支付 API 请求中使用此令牌,商家无需在请求本身中传递卡号或到期日期等数据。
请参阅第 222 页的“支付标记化”和第 225 页的“定期计费”。