2013-06-04 42 views
0

我正在使用C#和PayPal SOAP API與TransactionSearch方法。我想從我們的帳戶獲得所有歷史項目:如何使用PayPal TransactionSearch API加載歷史數據

 var client = new PayPalAPIInterfaceClient(); 

     var credentials = new CustomSecurityHeaderType 
     { 
      Credentials = new UserIdPasswordType 
      { 
       Username = PaypalUsername, 
       Password = PaypalPassword, 
       Signature = PaypalSignature 
      } 
     }; 
     var request = new TransactionSearchReq 
     { 
      TransactionSearchRequest = new TransactionSearchRequestType 
      { 
       StartDate = DateTime.Now.AddYears(-1), 
       Status = PaymentTransactionStatusCodeType.Success, 
       Version = "95.0" 
      } 
     }; 

     var response = client.TransactionSearch(ref credentials, request); 

這只是給了我是在30天的交易,無論我擺在那裏開始日期。 API文檔說,此方法從開始日期開始查找,並在此之後返回(至多)100個事務。雖然我在這裏無法實現。這是一個已知的問題嗎?有沒有人在這裏使用這個API成功?

通過GetTransactionDetails方法查詢舊事務時,我得到數據,所以它不是不可用。任何幫助是極大的讚賞。

回答

0

不知道您是否曾經對此進行過排序,但我相信您的日期格式錯誤。

我相信DateTime.Now.AddYears(-1)輸出09/21/2012 19:01:36,而文檔狀態;

該值必須採用UTC/GMT格式;例如,2012-09-21T19:01:36Z

+0

我從來沒有做過這項工作,沒有。至於日期:來自PayPal的C#客戶端庫期望在此處有一個DateTime對象。我不認爲它直接轉換成字符串,而是希望它們在圖書館內部正確地做到這一點,但最終沒有人知道它。我可能需要查看流量和反彙編代碼才能發現。 – philip