PayPal Classic API Аутентифицирует один вызов, но не следующий

1

Я пытаюсь загрузить историю транзакций из PayPal. Для этого я вызываю TransactionSearch чтобы получить базовый список транзакций в диапазоне дат. Затем я вызываю GetTransactionDetails чтобы получить полную информацию о каждой транзакции.

        using (var client = new PayPalService.PayPalAPIInterfaceClient())
        {
            var credentials = new PayPalService.CustomSecurityHeaderType
            {
                Credentials = new PayPalService.UserIdPasswordType
                {
                    Username = "MyUserName",
                    Password = "MyPassword",
                    Signature = "MySignature"
                }
            };

            TransactionSearchReq request = new TransactionSearchReq();
            request.TransactionSearchRequest = new TransactionSearchRequestType();
            request.TransactionSearchRequest.StartDate = DateTime.Now.AddHours(-12);
            request.TransactionSearchRequest.EndDate = DateTime.Now;
            request.TransactionSearchRequest.Version = "117.0";

            TransactionSearchResponseType transactionSearchResponseType = client.TransactionSearch(ref credentials, request);
            foreach (PaymentTransactionSearchResultType t in transactionSearchResponseType.PaymentTransactions)
            {
                var reqType = new GetTransactionDetailsRequestType
                {
                    TransactionID = t.TransactionID,
                    Version = "117.0"
                };
                reqType.DetailLevel = new DetailLevelCodeType[1];
                reqType.DetailLevel[0] = DetailLevelCodeType.ReturnAll;

                var treq = new GetTransactionDetailsReq
                {
                    GetTransactionDetailsRequest = reqType
                };
                GetTransactionDetailsResponseType transaction = client.GetTransactionDetails(ref credentials, treq);
            }

        }

Первый вызов TransactionSearch работает и возвращает мне список транзакций. Второй вызов GetTransactionDetails возвращает ошибку:

Error Code: "10002"
Long Message: "You do not have permissions to make this API call"
Short Message: "Authentication/Authorization Failed"
Correlation ID: 67970b9729a82
Ack: Failure
Build: 000000
Version: "117.0"
Any: null
PropertyChanged: null

У меня есть тройная проверка того, что TransactionId я передаю в вызове, является одной из моих действительных транзакций, и это так.

Кто-нибудь видел это раньше?

  • 0
    Можете ли вы опубликовать полный ответ от PayPal, включая идентификатор корреляции?
  • 0
    @Eshan спасибо за ответ. Я добавил больше к сообщению.
Показать ещё 3 комментария
Теги:
paypal

1 ответ

1
Лучший ответ

Кажется, что некоторые, как учетные данные не передаются в вашем коде для данных переменных. Убедитесь, что значения ниже переменных содержат значения:

Username = "MyUserName", пароль = "MyPassword", Sgnature = "MySignature"

Вы можете жестко закодировать учетные данные API, а затем попробовать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню