2016-05-29 51 views
0

我想使用Java PayPal SDK獲取賬戶歷史記錄。我想這個簡單的代碼:使用REST獲取貝寶賬戶歷史記錄

public void randomDatabaseData() throws SQLException, FileNotFoundException, IOException, PayPalRESTException { 
    String clientID = "test"; 
    String clientSecret = "test"; 

    String accessToken = null; 
    try { 
     Map<String, String> map = new HashMap<String, String>(); 
     map.put("mode", "live"); 
     try { 
      accessToken = new OAuthTokenCredential(clientID, clientSecret, map).getAccessToken(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
     System.out.println(accessToken); 
     transactionSearch(accessToken); 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

public TransactionSearchResponseType transactionSearch(String accessToken) { 

    TransactionSearchReq transactionSearchReq = new TransactionSearchReq(); 
    TransactionSearchRequestType transactionSearchRequest = new TransactionSearchRequestType(
      "2012-12-25T00:00:00+0530"); 
    transactionSearchReq.setTransactionSearchRequest(transactionSearchRequest); 
    PayPalAPIInterfaceServiceService service = new PayPalAPIInterfaceServiceService(); 
    service.setTokenSecret(accessToken); 

    TransactionSearchResponseType transactionSearchResponse = null; 
    try { 
     transactionSearchResponse = service.transactionSearch(transactionSearchReq); 
    } catch (Exception e) { 
     System.out.println("Error Message : " + e.getMessage()); 
    } 
    if (transactionSearchResponse.getAck().getValue().equalsIgnoreCase("success")) { 

     Iterator<PaymentTransactionSearchResultType> iterator = transactionSearchResponse 
       .getPaymentTransactions().iterator(); 
     while (iterator.hasNext()) { 
      PaymentTransactionSearchResultType searchResult = iterator.next(); 

      System.out.println("Transaction ID : " + searchResult.getTransactionID()); 
     } 
    } else { 
     List<ErrorType> errorList = transactionSearchResponse.getErrors(); 
     System.out.println("API Error Message : " + errorList.get(0).getLongMessage()); 
    } 

    return transactionSearchResponse; 
} 

,但我得到了自己的錯誤堆棧,當我運行代碼:

Error Message : configurationMap cannot be null 
java.lang.NullPointerException 
    at com.crm.web.tickets.GenearateTicketsTest.transactionSearch(GenearateTicketsTest.java:161) 
    at com.crm.web.tickets.GenearateTicketsTest.randomDatabaseData(GenearateTicketsTest.java:139) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 

我怎麼能解決這個問題的代碼?我將客戶端ID和密鑰配置到PayPal網站,但仍然出現錯誤。

回答

1

我建議您使用TransactionSearch API根據您的搜索日期範圍獲取付款記錄。

+0

我更新了帖子,但我得到錯誤。你知道我需要使用什麼配置圖嗎? –