簡體   English   中英

Authorize.Net Transaction Details API不返回LineItems

[英]Authorize.Net Transaction Details API Not Returning LineItems

我正在使用Transaction Details APIAuthorize.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());
        }

它運作正常。 我想通過添加以下內容來獲取每個TransactionLineItems列表:

        ...
        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

在此輸入圖像描述

我究竟做錯了什么? 如何使用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);
            }
        }

GetTransactionList返回有關事務的有限信息。 在每個事務上,執行GetTransactionDetails:

GetTransactionList此函數返回指定批次ID的有限事務詳細信息。

GetTransactionDetails此函數返回指定事務ID的完整事務詳細信息。

從Authorize.net的XML API庫中找到XML部分的底部

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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