簡體   English   中英

我可以使用eBay API獲取eBay訂單的PayPal交易ID嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM