2017-02-24 4 views
2

api를 통해 PayPal 활동을 다운로드하고 싶습니다. (즉, 수령 한 달 지불 보고서 만 받음).PayPal C# merchant-sdk-dotnet

우리는 PayPal ExpressCheckout과 함께 WooCommerce를 사용하고 있습니다. 그것은 NVP API를 사용하는 것으로 보입니다. (REST API를 사용해 보았는데 결과가 없습니다.)

merchant-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가이 경우에 사용할 올바른 API임을 발견했습니다. merchant-sdk-dotnet 샘플 (https://github.com/paypal/merchant-sdk-dotnet)이이 시나리오에서 작동 함을 발견했습니다. 내가

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

도 :-) .Errors 방법을 발견했을 때 그것은 내가 StartDate 매개 변수 값을 포함하는 데 필요한 도움을

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