using nms_sms; using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Security.Cryptography; using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class PaymentFailed : System.Web.UI.Page { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["cn"].ConnectionString); protected void Page_Load(object sender, EventArgs e) { try { string[] merc_hash_vars_seq; string merc_hash_string = string.Empty; string merc_hash = string.Empty; string order_id = string.Empty; string hash_seq = "key|txnid|amount|productinfo|firstname|email|udf1|udf2|udf3|udf4|udf5|udf6|udf7|udf8|udf9|udf10"; if (Request.Form["status"] == "success") { merc_hash_vars_seq = hash_seq.Split('|'); Array.Reverse(merc_hash_vars_seq); merc_hash_string = M_key.SALT + "|" + Request.Form["status"]; foreach (string merc_hash_var in merc_hash_vars_seq) { merc_hash_string += "|"; merc_hash_string = merc_hash_string + (Request.Form[merc_hash_var] != null ? Request.Form[merc_hash_var] : ""); } merc_hash = Generatehash512(merc_hash_string).ToLower(); string ss = Request.Form["hash"].ToString(); if (merc_hash != Request.Form["hash"]) { // Response.Write("Hash value did not matched"); Response.Redirect("pay.aspx"); } else { //order_id = Request.Form["txnid"]; insertdata(Request.Form["amount"], Request.Form["txnid"], Request.Form["status"], Request.Form["udf1"]); //Response.Write("value matched"); Session["totalamount"] = null; Session["studentids"] = null; Response.Redirect("pay.aspx"); // Hash value did not matched } } else { if (Request.Form["status"] != "" || Request.Form["status"] != null) { if (Request.Form["productinfo"] == "Registration") { insertdata(Request.Form["amount"], Request.Form["txnid"], Request.Form["status"], Request.Form["udf1"]); payeename.InnerHtml = Request.Form["firstname"]; payeeamount.InnerHtml = "Amount : " + Request.Form["amount"]; PaymentReference.InnerHtml = "Reference Number " + Request.Form["txnid"]; paymentconfirm.InnerHtml = Request.Form["status"]; paymenterror.InnerHtml = Request.Form["error"]; //paymentid.InnerHtml = Request.Form["v"]; //string error = Request.Form["error"]; //string unmappedstatus = Request.Form["unmappedstatus"]; //string hash = Request.Form["hash"]; //string asa = Generatehash512(hash).ToLower(); //Response.Write("Hash value did not matched"); // osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'payment' , 'SSL', null, null,true)); } else { insertbatchdata(Request.Form["amount"], Request.Form["txnid"], Request.Form["status"], Request.Form["udf1"]); payeename.InnerHtml = Request.Form["firstname"]; payeeamount.InnerHtml = "Amount : " + Request.Form["amount"]; PaymentReference.InnerHtml = "Reference Number " + Request.Form["txnid"]; paymentconfirm.InnerHtml = Request.Form["status"]; paymenterror.InnerHtml = Request.Form["error"]; //paymentid.InnerHtml = Request.Form["v"]; //string error = Request.Form["error"]; //string unmappedstatus = Request.Form["unmappedstatus"]; //string hash = Request.Form["hash"]; //string asa = Generatehash512(hash).ToLower(); //Response.Write("Hash value did not matched"); // osc_redirect(osc_href_link(FILENAME_CHECKOUT, 'payment' , 'SSL', null, null,true)); } } else { Response.Redirect("Pay.aspx"); } } } catch (Exception ex) { Response.Write("" + ex.Message + ""); } } public string Generatehash512(string text) { byte[] message = Encoding.UTF8.GetBytes(text); UnicodeEncoding UE = new UnicodeEncoding(); byte[] hashValue; SHA512Managed hashString = new SHA512Managed(); string hex = ""; hashValue = hashString.ComputeHash(message); foreach (byte x in hashValue) { hex += String.Format("{0:x2}", x); } return hex; } public string Generatehash512Revert(string text) { byte[] message = Encoding.UTF8.GetBytes(text); UnicodeEncoding UE = new UnicodeEncoding(); byte[] hashValue; SHA512Managed hashString = new SHA512Managed(); string hex = ""; hashValue = hashString.ComputeHash(message); foreach (byte x in hashValue) { hex += String.Format("{0:x2}", x); } return hex; } public void insertdata(string amount, string referenceid, string status, string udf1) { SqlCommand cmd = new SqlCommand(); cmd.Connection = con; if (con.State == ConnectionState.Closed) con.Open(); cmd.Parameters.AddWithValue("@pdReferenceno", referenceid); cmd.Parameters.AddWithValue("@pdStatus", status); cmd.Parameters.AddWithValue("@pdRegid", udf1); cmd.Parameters.AddWithValue("@pdAmount", amount); cmd.CommandText = "ins_Payment"; cmd.CommandType = CommandType.StoredProcedure; cmd.ExecuteNonQuery(); cmd.Dispose(); con.Close(); } public void insertbatchdata(string amount, string referenceid, string status, string udf1) { SqlCommand cmd = new SqlCommand(); cmd.Connection = con; if (con.State == ConnectionState.Closed) con.Open(); cmd.Parameters.AddWithValue("@bpdReferenceno", referenceid); cmd.Parameters.AddWithValue("@bpdStatus", status); cmd.Parameters.AddWithValue("@bpdRegid", udf1); cmd.Parameters.AddWithValue("@bpdAmount", amount); cmd.CommandText = "ins_batchPayment"; cmd.CommandType = CommandType.StoredProcedure; cmd.ExecuteNonQuery(); cmd.Dispose(); con.Close(); } }