【问题标题】:PayPal Classic API Authenticates one call but not the nextPayPal Classic API 验证一个调用但不验证下一个调用
【发布时间】:2014-12-04 08:27:22
【问题描述】:

我正在尝试从 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 是我的有效交易之一,并且确实如此。

有人见过吗?

【问题讨论】:

  • 您能否发布来自 PayPal 的完整回复,包括相关 ID?
  • @Eshan 感谢您的回复。我在帖子中添加了更多内容。
  • 我试图用这个相关 id 检查我的,但找不到太多。您可以在 www.paypal.com/mts 提交票证并在此处 ping 我票证吗?
  • 对于“获取事务详细信息”API 来说,凭据没有被传递似乎有些方式。即使代码包含凭据,您能否确保它包含该值?
  • @Eshan 你是对的,它由于某种原因丢失了凭据(不知道它为什么会这样做并且没想到要检查!)。我在第二次通话之前再次设置了它们,现在它工作正常。把它写下来作为答案。非常感谢

标签: c# paypal


【解决方案1】:

似乎某些凭据没有在您的代码中为给定变量传递。确保以下变量包含值:

用户名 = "我的用户名", 密码 = "我的密码", Sgnature = "我的签名"

您可以硬编码 API 凭据,然后尝试 .

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-17
    • 2013-05-10
    • 1970-01-01
    • 1970-01-01
    • 2019-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多