我試圖通過eBay API找到自己的方式,我發現它很混亂。就像API響應我的請求與大量的數據,除了一半是空的或否則沒有設置。我遇到了返回的TransactionType
對象的問題。我可以使用eBay API獲取eBay訂單的PayPal交易ID嗎?
我實際上想要查找兩件事情,PayPal交易ID以及訂單是否實際支付。讓我們跳過第二個(如果需要,它可能會得到它自己的問題)。
所以我的問題是,可以使用eBay API實際從eBay交易中提取PayPal交易ID嗎?如果是,我該怎麼做?
根據我的發現,這個ID應該出現在TransactionType.ExternalTransaction
,但對於我的測試拍賣(當我使用另一個沙箱帳戶「購買」它並使用PayPal沙箱成功「支付」時結束),那裏沒有任何東西。
我見過this post,但即使加上DetailLevelCodeType.ReturnAll
到DetailLevelList
後,沒有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
交易(設置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;
我只是很有點失望,我不能拉的是使用一個調用API放在有關訂單的所有信息(有可能是仍然有辦法讓我需要使用少量的所有信息批量呼叫)。
非常感謝。 '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