[英]Can I get PayPal transaction id for an eBay order using eBay API?
我試圖通過eBay API找到自己的方式,我發現它很混亂。 就像API用大量數據響應我的請求,除了一半是空的或者沒有設置。 我遇到了返回的TransactionType
對象的這個問題。
我實際上想要找到兩件事,即PayPal交易ID以及訂單是否實際支付。 讓我們跳過第二個(如果需要,它可能會得到它自己的問題)。
所以我的問題是, PayPal交易ID是否可以使用eBay API實際從eBay交易中提取? 如果是的話,我該怎么做?
根據我的發現,這個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<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將為您提供所需。 我曾經多次使用它來獲取交易的PayPal交易ID而沒有任何問題。 具體來說, Transaction.ExternalTransaction.ExternalTransactionID 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.