PAA
PAA

Reputation: 11975

E00011 - Access denied. You do not have permissions to call the Transaction Details API. - in Aithorize.net

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

Answers (1)

PAA
PAA

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:

enter image description here

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: enter image description here

Upvotes: 5

Related Questions