[英]Authorize.Net Transaction Details API Not Returning LineItems
I'm using the Transaction Details API
with the Authorize.Net C# SDK
to get a list of all transactions in the past 30 days using the following code directly from the Authorize.Net website : 我正在使用
Transaction Details API
和Authorize.Net C# SDK
,使用以下代码直接从Authorize.Net网站获取过去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());
}
and it works properly. 它运作正常。 I am trying to get the list of
LineItems
for each Transaction
by adding this: 我想通过添加以下内容来获取每个
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);
}
}
It doesn't show any LineItems
though, I even set a break point and saw that it always shows 0 LineItems
for each transaction, even though I can log into the web interface and view the LineItems
in the transaction detail reports. 它没有显示任何
LineItems
,我甚至设置了一个断点,并且看到它总是为每个事务显示0个LineItems
,即使我可以登录Web界面并在事务详细信息报告中查看LineItems
。
What am I doing wrong? 我究竟做错了什么? How do I view
LineItems
of each transaction using the Authorize.Net C# SDK
? 如何使用
Authorize.Net C# SDK
查看每个事务的LineItems
?
ANSWER: (thanks to SO User Josh ) 答案:(感谢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);
}
}
GetTransactionList returns limited information about the transaction. GetTransactionList返回有关事务的有限信息。 On each transaction, do a GetTransactionDetails:
在每个事务上,执行GetTransactionDetails:
GetTransactionList This function returns limited transaction details for a specified batch ID. GetTransactionList此函数返回指定批次ID的有限事务详细信息。
GetTransactionDetails This function returns full transaction details for a specified transaction ID. GetTransactionDetails此函数返回指定事务ID的完整事务详细信息。
Found from Authorize.net's XML API library Look towards the bottom on the XML section 从Authorize.net的XML API库中找到XML部分的底部
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.