PayPal SOAP API从帐户获取发票/交易和消息

时间:2019-01-15 07:25:40

标签: c# soap paypal paypal-sandbox paypal-soap

我正在尝试使用Paypal SOAP api,最初尝试使用他们的REST api,但是似乎也没有达到期望。

我只是想通过api获取我帐户中的所有交易(如果不需要分页没什么大不了的)。但是,除了使用TransactionSearch进行这些交易的SOAP之外,他们的API似乎都没有真正允许这样做的,人们可以在购买时包括笔记或备忘录。我要选择付款信息(总/净/手续费)以及此备忘录。

就像我提到过我尝试过REST一样,但似乎其中没有此信息,最重要的是,它仅返回通过REST完成的付款。因此,如果它在其他地方完成,则不会显示,并且所有付款都通过“购买”按钮完成。

很多这段代码拼凑在一起,并从随机帖子中稍作清理,我发现这些帖子并没有帮助我解决Paypal的api问题。

     var client = new PayPalAPIInterfaceClient();
     client.Endpoint.Address = new System.ServiceModel.EndpointAddress("https://api-3t.paypal.com/2.0/");

     var user = new UserIdPasswordType()
     {
          Username = username,
          Password = password,
          Signature = signature
     };

     var securityHeader = new CustomSecurityHeaderType();

     DateTime startDate = new DateTime(2018, 1, 1);
     DateTime endDate = new DateTime(2019, 12, 31);


     TransactionSearchReq req = new TransactionSearchReq();
     req.TransactionSearchRequest = new TransactionSearchRequestType();
     req.TransactionSearchRequest.StartDate = startDate;
     req.TransactionSearchRequest.EndDate = endDate;
     req.TransactionSearchRequest.Version = "74.0";

     var result = await client.TransactionSearchAsync(securityHeader, req);

     var output = result.TransactionSearchResponse1.PaymentTransactions.Where(i => double.Parse(i.GrossAmount.Value) > 0 && i.Type == "Payment").Select(i => new {
          GrossAmount = i.GrossAmount.Value,
          NetAmount = i.NetAmount.Value,
          FeeAmount = i.FeeAmount.Value,
          Date = i.Timestamp
     })

这将返回除消息外我需要的所有信息(请参阅最后一行中的Select语句)。最后,它最多只会返回100条记录,我认为这不是什么大问题,因为我确信我可以通过查询,检查是否有更多记录以及是否可以查看最后一条记录的日期并查看过去来解决该问题。那个。

但是,如果可能的话,以更快,更轻松的方式获取我需要的信息,将是很好的选择。预先感谢。

所以我想我的问题可以归结为-“如何获取付款中包含的备忘录/便笺?”

0 个答案:

没有答案