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)您应该能够看到以下内容: