を使用してTransaction Details API
、Authorize.Net WebサイトAuthorize.Net C# SDK
から直接次のコードを使用して、過去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());
}
そしてそれは正しく動作します。これを追加してLineItems
、それぞれのリストを取得しようとしています。Transaction
...
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
。ブレークポイントを設定すると、Webインターフェイスにログインしてトランザクションの詳細レポートでLineItems
表示できる場合でも、トランザクションごとに常に0が表示されることがわかりました。LineItems
私は何が間違っているのですか?LineItems
を使用して各トランザクションを表示するにはどうすればよいAuthorize.Net C# SDK
ですか?
答え: (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);
}
}