当Authorize.net API调用出现问题并返回null时,可能有一些原因导致。以下是一些可能的解决方法和代码示例:
// 设置API凭据
APIClientEnvironment environment = APIClientEnvironment.SANDBOX;
MerchantAuthenticationType merchantAuthenticationType = new MerchantAuthenticationType();
merchantAuthenticationType.setName("YOUR_API_LOGIN_ID");
merchantAuthenticationType.setTransactionKey("YOUR_TRANSACTION_KEY");
// 创建API请求对象
CreateTransactionRequest createRequest = new CreateTransactionRequest();
createRequest.setMerchantAuthentication(merchantAuthenticationType);
// 设置交易请求参数
TransactionRequestType txnRequest = new TransactionRequestType();
txnRequest.setTransactionType(TransactionTypeEnum.AUTH_CAPTURE_TRANSACTION.value());
txnRequest.setAmount(new BigDecimal("10.00"));
// 将交易请求参数添加到API请求对象中
createRequest.setTransactionRequest(txnRequest);
// 设置API端点URL
environment.setApiLoginId("YOUR_API_LOGIN_ID");
environment.setTransactionKey("YOUR_TRANSACTION_KEY");
// 创建API客户端
APIOperationBase.setEnvironment(environment);
APIOperationBase.setHttpClient(new HttpClient());
// 创建API控制器
CreateTransactionController controller = new CreateTransactionController(createRequest);
controller.execute();
// 获取API响应
CreateTransactionResponse createResponse = controller.getApiResponse();
// 检查API响应对象中的错误信息
if (createResponse != null && createResponse.getMessages().getResultCode() == MessageTypeEnum.OK) {
// API调用成功
} else {
// API调用出现错误
if (createResponse != null) {
List messages = createResponse.getMessages().getMessage();
if (messages != null && !messages.isEmpty()) {
for (Message message : messages) {
System.out.println("Error: " + message.getCode() + " - " + message.getText());
}
}
}
}
通过检查API凭据、参数、端点URL、网络连接和错误处理,您应该能够解决Authorize.net API调用返回null的问题。请根据您的具体情况进行适当的调整和调试。
上一篇:Authorize.Net AIM响应中缺少HMAC-SHA512哈希
下一篇:authorize.net sdk controller.execute() 抛出错误,生成 XML 文档时出错。