2016-08-17 23 views
0

私はAuthorize.net APIに取り組んでいます。私は、次のコードを実行したときに、私は次のようE00011 - アクセスが拒否されました。トランザクション詳細APIを呼び出す権限がありません。 - Aithorize.net

error: 
======= Unsettled Transaction List ============== 
Result Code : [Error] 
Code  : [E00011] 
Code  : [Access denied. You do not have permissions to call the Transaction Details API.] 

が間違ってここに何が起こっているのか、私を助けてください取得し、UnsettledTransactionDetailsを取得しようとしていた、このAPIを使用します。私はstandboxアカウント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()+"]"); 
     } 
    } 
} 
+0

あなたのサンドボックスアカウントにログインし、トランザクションの詳細apiを有効にしてください。 – rhldr

+0

ありがとうございました! – Prateek

答えて

2

'rhldr' で示唆したように - あなたは、取引の詳細APIを有効にする必要があります。下記の手順:

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)サイモンを上クリックして取引の詳細を有効にしてとしてセキュリティの質問の答えを入力します(FYI - サンドボックス上のデフォルトのセキュリティの答えは、あなたが)他にそれを変更しない限り、 4)あなたは以下をご覧ください。 enter image description here

関連する問題