Authorize.Net 交易详情 API 不返回 LineItems
Posted
技术标签:
【中文标题】Authorize.Net 交易详情 API 不返回 LineItems【英文标题】:Authorize.Net Transaction Details API Not Returning LineItems 【发布时间】:2012-06-06 19:03:44 【问题描述】:我使用Transaction Details API
和Authorize.Net C# SDK
直接从Authorize.Net website 使用以下代码获取过去30 天内所有交易的列表:
//open a call to the Gateway
var gate = new ReportingGateway("myAPILogin", "myTransactionKey");
//Get all the batches settled
var batches = gate.GetSettledBatchList();
Console.WriteLine("All Batches in the last 30 days");
//Loop each batch returned
foreach (var item in batches)
Console.WriteLine("Batch ID: 0, Settled On : 1", item.ID,
item.SettledOn.ToShortDateString());
Console.WriteLine("*****************************************************");
Console.WriteLine();
//get all Transactions for the last 30 days
var transactions = gate.GetTransactionList();
foreach (var item in transactions)
Console.WriteLine("Transaction 0: Card: 1 for 2 on 3",
item.TransactionID, item.CardNumber,
item.SettleAmount.ToString("C"),
item.DateSubmitted.ToShortDateString());
并且它工作正常。我正在尝试通过添加以下内容来获取每个Transaction
的LineItems
列表:
...
foreach (var item in transactions)
Console.WriteLine("Transaction 0: Card: 1 for 2 on 3",
item.TransactionID, item.CardNumber,
item.SettleAmount.ToString("C"),
item.DateSubmitted.ToShortDateString());
foreach (var li in item.LineItems)
Console.WriteLine(" LineItem ID: 0 Name: 1 Quantity: 2 Unit Price: 3",
li.ID, li.Name, li.Quantity, li.UnitPrice);
虽然它没有显示任何LineItems
,但我什至设置了一个断点,发现它总是为每笔交易显示 0 LineItems
,即使我可以登录 Web 界面并查看 LineItems
in交易详情报告。
我做错了什么?如何使用Authorize.Net C# SDK
查看每笔交易的LineItems
?
回答:(感谢 SO 用户 Josh)
...
var transactions = gate.GetTransactionList();
foreach (var item in transactions)
Console.WriteLine("Transaction 0: Card: 1 for 2 on 3",
item.TransactionID, item.CardNumber,
item.SettleAmount.ToString("C"),
item.DateSubmitted.ToShortDateString());
var details = gate.GetTransactionDetails(item.TransactionID);
foreach (var li in details.LineItems)
Console.WriteLine(" LineItem ID: 0 Name: 1 Quantity: 2 Unit Price: 3",
li.ID, li.Name, li.Quantity, li.UnitPrice);
【问题讨论】:
【参考方案1】:GetTransactionList 返回有关交易的有限信息。在每笔交易中,执行 GetTransactionDetails:
GetTransactionList 此函数返回指定批次 ID 的有限交易详情。
GetTransactionDetails 此函数返回指定交易 ID 的完整交易详情。
来自 Authorize.net 的 XML API 库Look towards the bottom on the XML section
【讨论】:
以上是关于Authorize.Net 交易详情 API 不返回 LineItems的主要内容,如果未能解决你的问题,请参考以下文章
Authorize.Net Paypal Express PHP API:交易未在 Authorize.Net 中更新,也未捕获正确金额的问题
如何在 Google Pay 和 Apple Pay 中为 Authorize.net 生成支付令牌(在移动应用交易中)?