Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我可以使用易趣API获取易趣订单的贝宝交易id吗?_C#_Paypal_Ebay Api - Fatal编程技术网

C# 我可以使用易趣API获取易趣订单的贝宝交易id吗?

C# 我可以使用易趣API获取易趣订单的贝宝交易id吗?,c#,paypal,ebay-api,C#,Paypal,Ebay Api,我正试图通过eBay API找到我的方法,我发现它非常混乱。就像API用大量数据响应我的请求一样,除了有一半为null或未设置之外。返回的TransactionType对象有这个问题 有两件事,我真的想找到,贝宝交易id和如果订单是实际支付。让我们跳过第二个问题(如果需要,它可能会得到自己的问题) 所以我的问题是,是否可以使用eBay API从eBay交易中提取PayPal交易id?如果可以,我该如何做 根据我的发现,这个id应该出现在TransactionType.ExternalTransa

我正试图通过eBay API找到我的方法,我发现它非常混乱。就像API用大量数据响应我的请求一样,除了有一半为null或未设置之外。返回的
TransactionType
对象有这个问题

有两件事,我真的想找到,贝宝交易id和如果订单是实际支付。让我们跳过第二个问题(如果需要,它可能会得到自己的问题)

所以我的问题是,是否可以使用eBay API从eBay交易中提取PayPal交易id?如果可以,我该如何做

根据我的发现,这个id应该出现在
TransactionType.ExternalTransaction
中,但对于我的测试拍卖(当我使用另一个沙盒帐户“购买”它并使用PayPal沙盒成功“支付”它时结束),那里什么都没有

我看到了,但即使在将
DetailLevelCodeType.ReturnAll
添加到
DetailLevelList
之后,订单中的交易也没有
ExternalTransaction

var apiCall = new GetOrdersCall(apiContext);
apiCall.NumberOfDays = 1;
apiCall.DetailLevelList = new DetailLevelCodeTypeCollection()
{
    DetailLevelCodeType.ReturnAll
};
apiCall.Execute();
注意,当我访问订单中的事务时,我使用
SomeOrder.TransactionArray.Cast()


如果我使用
getItemTransactionCall
明确请求交易(将
DetailLevel
设置为
ReturnAll
似乎是必要的),我实际上可以获得有关PayPal交易的信息

var apiCall = new GetItemTransactionsCall(apiContext);
apiCall.DetailLevelList = new DetailLevelCodeTypeCollection()
{
    DetailLevelCodeType.ReturnAll
};
apiCall.ItemID = "someItemId";
apiCall.Execute();
var trans = apiCall.TransactionList.Cast<TransactionType>().ToList();
var extTrans = trans.First().ExternalTransaction.Cast<ExternalTransactionType>().ToList();
var payPalId = extTrans.First().ExternalTransactionID;
var apiCall=new-getItemTransactionCall(apiContext);
apiCall.DetailLevelList=新的DetailLevelCodeTypeCollection()
{
DetailLevelCodeType.ReturnAll
};
apiCall.ItemID=“someItemId”;
apiCall.Execute();
var trans=apiCall.TransactionList.Cast().ToList();
var extTrans=trans.First().ExternalTransaction.Cast().ToList();
var payPalId=extTrans.First().ExternalTransactionID;

我只是有点失望,因为我无法通过一次API调用获取订单的所有信息(可能仍然有一种方法可以通过最少的批量调用获取我需要的所有信息)。

将为您提供所需信息。过去,我多次使用它来获取交易的贝宝交易ID,没有任何问题。具体来说,.

非常感谢
GetItemTransactions
request with
DetailLevel
ReturnAll
满足了我的需求。奇怪的是,我无法将此信息作为
GetOrdersCall
的一部分。本页提到由于某种原因,外部交易会丢失,所以可能与此相关。我知道这是6年后的事了。。。但是现在GetItenTransactions正在返回一个空的ExternalTransaction。有什么想法吗?