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();
}
}