我可以使用eBay API获取eBay订单的PayPal交易ID吗?

问题描述:

我试图通过eBay API找到自己的方式,我发现它很混乱。就像API响应我的请求与大量的数据,除了一半是空的或否则没有设置。我遇到了返回的TransactionType对象的问题。我可以使用eBay API获取eBay订单的PayPal交易ID吗?

我实际上想要查找两件事情,PayPal交易ID以及订单是否实际支付。让我们跳过第二个(如果需要,它可能会得到它自己的问题)。

所以我的问题是,可以使用eBay API实际从eBay交易中提取PayPal交易ID吗?如果是,我该怎么做?

根据我的发现,这个ID应该出现在TransactionType.ExternalTransaction,但对于我的测试拍卖(当我使用另一个沙箱帐户“购买”它并使用PayPal沙箱成功“支付”时结束),那里没有任何东西。

我见过this post,但即使加上DetailLevelCodeType.ReturnAllDetailLevelList后,没有ExternalTransaction的秩序中进行交易。

var apiCall = new GetOrdersCall(apiContext); 
apiCall.NumberOfDays = 1; 
apiCall.DetailLevelList = new DetailLevelCodeTypeCollection() 
{ 
    DetailLevelCodeType.ReturnAll 
}; 
apiCall.Execute(); 

注意,当我的命令中访问数据我用SomeOrder.TransactionArray.Cast<eBay.Service.Core.Soap.TransactionType>()


看来,如果我明确要求使用GetItemTransactionsCall交易(设置DetailLevelReturnAll似乎是必要的),我可以实际上获得有关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; 

我只是很有点失望,我不能拉的是使用一个调用API放在有关订单的所有信息(有可能是仍然有办法让我需要使用少量的所有信息批量呼叫)。

GetItemTransactions会给你你需要的。我过去曾多次使用它来获取PayPal交易ID,没有任何问题。具体来说,Transaction.ExternalTransaction.ExternalTransactionID

+1

非常感谢。 'GetItemTransactions'请求和'DetailLevel''ReturnAll'给了我想要的东西。很奇怪,我无法将这些信息作为“GetOrdersCall”的一部分。这个页面https://ebay.custhelp.com/app/answers/detail/a_id/1550/~/linking-ebay-and-paypal-transactions提到外部交易由于某种原因失踪,所以也许它与此有关。 – jahu 2014-09-26 14:05:23