2017-02-24 46 views
2

我想通過api下載PayPal活動。 (即只收到一個月收到的付款報告)。PayPal C#merchant-sdk-dotnet

我們使用WooCommerce和PayPal ExpressCheckout。它似乎使用NVP api。 (我嘗試使用REST API並沒有得到任何結果)。

我已經下載了商家sdk-dotnet樣本(https://github.com/paypal/merchant-sdk-dotnet),但運行時遇到了麻煩。我試圖提取我需要的幾件,並在控制檯應用程序中實現它們(見下文)。 (VS2012 C#)

我正在使用上面的aspx示例中的沙箱憑據(但也嘗試過我們的實時/真實憑據)。

下面的代碼總是導致AckCodeType.FAILURE(並且沒有事務)。

... 
    using PayPal.PayPalAPIInterfaceService; 
    using PayPal.PayPalAPIInterfaceService.Model; 

    namespace PayPalToDBMerch 
    { 
     class Program 
     { 
      static void Main(string[] args) 
      { 
       TransactionSearchRequestType request = new TransactionSearchRequestType(); 
       TransactionSearchReq wrapper = new TransactionSearchReq(); 
       wrapper.TransactionSearchRequest = request; 
       Dictionary<string, string> configurationMap = Configuration.GetAcctAndConfig(); 
       PayPalAPIInterfaceServiceService service = new PayPalAPIInterfaceServiceService(configurationMap); 
       TransactionSearchResponseType transactionDetails = service.TransactionSearch(wrapper); 
       if (transactionDetails.Ack == AckCodeType.FAILURE) 
       { 
        Console.WriteLine("This is always the result."); // 
       } 
       else 
       { 
        Console.WriteLine("I never get here."); 
       } 
      } 
     } 

您的幫助表示讚賞。

回答

0

我發現NVP API是在這種情況下使用的權利。 我發現商家sdk-dotnet樣本(https://github.com/paypal/merchant-sdk-dotnet)適用於這種情況。 它幫助時,我發現了.Errors方法:-)

if (transactionDetails.Ack == AckCodeType.FAILURE) 
    { 
     foreach (var e in transactionDetails.Errors) 
     { 
      Console.WriteLine(e.LongMessage); // 
     } 
    } 

我需要包括StartDate參數值

request.StartDate = DateTime.Now.AddDays(-30).ToString("yyyy-MM-ddTHH:mm:ss");