PayPal SOAP API получает счет / транзакцию с сообщением со счета - PullRequest
0 голосов
/ 15 января 2019

Я пытаюсь использовать API PayPal SOAP , сначала пробовал свои REST API, однако, похоже, они тоже не оправдали ожиданий.

Я просто пытаюсь получить все транзакции в моем аккаунте через API (если нумерация страниц необходима). Однако ни один из их API, по-видимому, не позволяет этого, за исключением SOAP, использующего TransactionSearch , с этими транзакциями люди могут включать заметки или заметки о своей покупке. Я хочу выбрать информацию о платеже (брутто / нетто / комиссия), а также их записку.

Как я уже говорил, я пробовал REST, но, похоже, в нем нет этой информации, и в довершение он возвращает только те платежи, которые были завершены через REST. Поэтому, если это было сделано в другом месте, они не отображаются, и все платежи осуществляются через кнопку покупки.

Многие из этого кода были собраны воедино и немного очищены от случайных постов, которые, как я обнаружил, не помогли мне решить мои проблемы с API через PayPal.

     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 записей, которые, я считаю, не так уж и серьезны, так как я уверен, что смогу обойти это, выполнив запрос, проверив, есть ли еще, и если да, то проверьте дату последней и просмотрите прошлое. что.

Было бы неплохо, однако, получить все эти транзакции более быстрым и простым способом с информацией, которая мне нужна, если это возможно. Заранее спасибо.

Итак, я думаю, что мой вопрос сводится к - «Как я могу получить заметку / заметку, которая включена в платеж?»

...