E00011 - 访问被拒绝。您无权调用交易详情 API。 - 在 Aithorize.net
E00011 - Access denied. You do not have permissions to call the Transaction Details API. - in Aithorize.net
我正在研究 Authorize.net API。使用此 API 我试图获取 UnsettledTransactionDetails,当我执行以下代码时,我得到以下
error:
======= Unsettled Transaction List ==============
Result Code : [Error]
Code : [E00011]
Code : [Access denied. You do not have permissions to call the Transaction Details API.]
这里可能出了什么问题?我正在使用独立帐户 https://sandbox.authorize.net/。
我的代码:
public class UnsettledTransactionDetailsDemo {
public static final String apiLoginID= "6LaBc8HJ6Q";
public static final String transactionKey= "XXXXXXXXXXXXX";
@SuppressWarnings("unchecked")
public static void main(String[] args) {
Merchant merchant = Merchant.createMerchant(Environment.SANDBOX, apiLoginID, transactionKey);
// get the list of Unsettled transactions
net.authorize.reporting.Transaction transaction =
merchant.createReportingTransaction(TransactionType.GET_UNSETTLED_TRANSACTION_LIST);
ReportingDetails reportingDetails = ReportingDetails.createReportingDetails();
reportingDetails.setBatchIncludeStatistics(true);
transaction.setReportingDetails(reportingDetails);
Result<Transaction> result =(Result<Transaction>) merchant.postTransaction(transaction);
System.out.println("======= Unsettled Transaction List ==============");
System.out.println("Result Code : ["+ result.getResultCode() +"]");
System.out.println("Code : ["+ result.getMessages().get(0).getCode() +"]");
System.out.println("Code : ["+ result.getMessages().get(0).getText() +"]");
ArrayList<TransactionDetails> newReportingDetails = result.getReportingDetails().getTransactionDetailList();
for (int i = 0; i < newReportingDetails.size(); i++) {
TransactionDetails td = newReportingDetails.get(i);
System.out.println("------------------------------------");
System.out.println("Transaction ID : [" + td.getTransId()+"]");
System.out.println("Transaction Status : ["+td.getTransactionStatus()+"]");
System.out.println("Transaction Type : [" + td.getTransactionType()+"]");
System.out.println("Account Number : [" + td.getAccountNumber() +"]");
System.out.println("Account Tyep : ["+ td.getAccountType() +"]");
System.out.println("Settled Amount : ["+ td.getSettleAmount()+"]");
System.out.println("Submit TIme Local : ["+td.getSubmitTimeLocal()+"]");
System.out.println("Submit TIme UTC : ["+td.getSubmitTimeUTC()+"]");
}
}
}
根据 'rhldr' 的建议 - 您需要启用交易详情 API。按照以下步骤操作:
1) Login to the https://sandbox.authorize.net/
2) click on Account tab, you should be able to see below screen:
3) 点击启用交易详情并输入安全问题的答案 Simon(仅供参考 - 这是沙盒上的默认安全答案,除非您将其更改为其他)
4)您应该能够看到以下内容:
我正在研究 Authorize.net API。使用此 API 我试图获取 UnsettledTransactionDetails,当我执行以下代码时,我得到以下
error:
======= Unsettled Transaction List ==============
Result Code : [Error]
Code : [E00011]
Code : [Access denied. You do not have permissions to call the Transaction Details API.]
这里可能出了什么问题?我正在使用独立帐户 https://sandbox.authorize.net/。
我的代码:
public class UnsettledTransactionDetailsDemo {
public static final String apiLoginID= "6LaBc8HJ6Q";
public static final String transactionKey= "XXXXXXXXXXXXX";
@SuppressWarnings("unchecked")
public static void main(String[] args) {
Merchant merchant = Merchant.createMerchant(Environment.SANDBOX, apiLoginID, transactionKey);
// get the list of Unsettled transactions
net.authorize.reporting.Transaction transaction =
merchant.createReportingTransaction(TransactionType.GET_UNSETTLED_TRANSACTION_LIST);
ReportingDetails reportingDetails = ReportingDetails.createReportingDetails();
reportingDetails.setBatchIncludeStatistics(true);
transaction.setReportingDetails(reportingDetails);
Result<Transaction> result =(Result<Transaction>) merchant.postTransaction(transaction);
System.out.println("======= Unsettled Transaction List ==============");
System.out.println("Result Code : ["+ result.getResultCode() +"]");
System.out.println("Code : ["+ result.getMessages().get(0).getCode() +"]");
System.out.println("Code : ["+ result.getMessages().get(0).getText() +"]");
ArrayList<TransactionDetails> newReportingDetails = result.getReportingDetails().getTransactionDetailList();
for (int i = 0; i < newReportingDetails.size(); i++) {
TransactionDetails td = newReportingDetails.get(i);
System.out.println("------------------------------------");
System.out.println("Transaction ID : [" + td.getTransId()+"]");
System.out.println("Transaction Status : ["+td.getTransactionStatus()+"]");
System.out.println("Transaction Type : [" + td.getTransactionType()+"]");
System.out.println("Account Number : [" + td.getAccountNumber() +"]");
System.out.println("Account Tyep : ["+ td.getAccountType() +"]");
System.out.println("Settled Amount : ["+ td.getSettleAmount()+"]");
System.out.println("Submit TIme Local : ["+td.getSubmitTimeLocal()+"]");
System.out.println("Submit TIme UTC : ["+td.getSubmitTimeUTC()+"]");
}
}
}
根据 'rhldr' 的建议 - 您需要启用交易详情 API。按照以下步骤操作:
1) Login to the https://sandbox.authorize.net/
2) click on Account tab, you should be able to see below screen:
3) 点击启用交易详情并输入安全问题的答案 Simon(仅供参考 - 这是沙盒上的默认安全答案,除非您将其更改为其他)
4)您应该能够看到以下内容: