BP10Emu.Trans_Notify.Main C# (CSharp) Метод

Main() публичный статический Метод

public static Main ( ) : void
Результат void
        public static void Main()
        {
            HttpListener listener = new HttpListener();
            string secretKey = "";
            string response = "";

            try
            {
                // Listen for incoming data
                listener.Start();
            }
            catch (HttpListenerException)
            {
                return;
            }
            while (listener.IsListening)
            {
                var context = listener.GetContext();
                var body = new StreamReader(context.Request.InputStream).ReadToEnd();

                byte[] b = Encoding.UTF8.GetBytes("ACK");

                // Return HTTP Status of 200 to BluePay
                context.Response.StatusCode = 200;
                context.Response.KeepAlive = false;
                context.Response.ContentLength64 = b.Length;

                var output = context.Response.OutputStream;
                output.Write(b, 0, b.Length);

                // Get Reponse
                using (StreamReader reader = new StreamReader(output))
                {
                    response = reader.ReadToEnd();
                }
                context.Response.Close();
            }
            listener.Close();
            NameValueCollection vals = HttpUtility.ParseQueryString(response);

            // Parse data into a NVP collection
            string transID = vals["trans_id"];
            string transStatus = vals["trans_stats"];
            string transType = vals["trans_type"];
            string amount = vals["amount"];
            string batchID = vals["batch_id"];
            string batchStatus = vals["batch_status"];
            string totalCount = vals["total_count"];
            string totalAmount = vals["total_amount"];
            string batchUploadID = vals["batch_upload_id"];
            string rebillID = vals["rebill_id"];
            string rebillAmount = vals["rebill_amount"];
            string rebillStatus = vals["rebill_status"];

            // calculate the expected BP_STAMP
            string bpStamp = BluePayPayment_BP10Emu.calcTransNotifyTPS(secretKey,
                vals["trans_id"],
                vals["trans_stats"],
                vals["trans_type"],
                vals["amount"],
                vals["batch_id"],
                vals["batch_status"],
                vals["total_count"],
                vals["total_amount"],
                vals["batch_upload_id"],
                vals["rebill_id"],
                vals["rebill_amount"],
                vals["rebill_status"]);

            // Output data if the expected BP_STAMP matches the actual BP_STAMP
            if (bpStamp == vals["BP_STAMP"]) {
                Console.Write("Transaction ID: " + transID);
            Console.Write("Transaction Status: " + transStatus);
            Console.Write("Transaction Type: " + transType);
            Console.Write("Transaction Amount: " + amount);
            Console.Write("Rebill ID: " + rebillID);
            Console.Write("Rebill Amount: " + rebillAmount);
            Console.Write("Rebill Status: " + rebillStatus);
            } else {
                Console.Write("ERROR IN RECEIVING DATA FROM BLUEPAY");
            }
        }