Reputation: 11975
I'm working on Authorize.net API. Using this API I was trying to get UnsettledTransactionDetails, when I execute the following code I get the following
error:
======= Unsettled Transaction List ==============
Result Code : [Error]
Code : [E00011]
Code : [Access denied. You do not have permissions to call the Transaction Details API.]
What might be going wrong here? I am working on standbox account https://sandbox.authorize.net/.
My code:
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()+"]");
}
}
}
Upvotes: 1
Views: 622
Reputation: 11975
As suggested by 'rhldr' - you need to enable transaction details API. Follow below steps:
1) Login to the https://sandbox.authorize.net/
2) click on Account tab, you should be able to see below screen:
3) Click on enable transaction details and enter the security question's answer as Simon (FYI - Its a default security answer on sandbox unless you changed it to other) 4) You should be able to see below:
Upvotes: 5