繁体   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