using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Net; using System.IO; using System.Data.SqlClient; using System.Threading; using System.Globalization; public partial class Merchant : System.Web.UI.Page { protected override void InitializeCulture() { if (Session["culture"] != null) { UICulture = Session["culture"].ToString(); Culture = Session["culture"].ToString(); Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Session["culture"].ToString()); Thread.CurrentThread.CurrentUICulture = new CultureInfo(Session["culture"].ToString()); } base.InitializeCulture(); } protected void Page_Load(object sender, EventArgs e) { if (IsPostBack == false) { // -------------------------- FORMULARZ -------------------------------- string tORDERDESCRIPTION = (string)Session["ORDERDESCRIPTION"]; ORDERDESCRIPTION.Text = ""; string tAMOUNT = (string)Session["AMOUNT"]; AMOUNT.Text = ""; string tCURRENCY = (string)Session["CURRENCY"]; CURRENCY.Text = ""; string tNAME = (string)Session["NAME"]; NAME.Text = ""; string tSURNAME = (string)Session["SURNAME"]; SURNAME.Text = ""; string tSESSIONID = (string)Session["SESSIONID"]; //SESSIONID.Text = ""; string tLANGUAGE = (string)Session["LANGUAGE"]; LANGUAGE.Text = ""; string tCHARSET = (string)Session["CHARSET"]; CHARSET.Text = ""; string tCOUNTRY = (string)Session["COUNTRY"]; COUNTRY.Text = ""; string tPAYMENTTYPE = (string)Session["PAYMENTTYPE"]; PAYMENTTYPE.Text = ""; CheckBrowserCaps(); string tAUTODEPOSIT = (string)Session["AUTODEPOSIT"]; AUTODEPOSIT.Text = ""; // ---------------- Pobranie ORDERNUMBER --------------------- string connString = ConfigurationManager.ConnectionStrings["BazaReklamConn"].ConnectionString; string cmdText = "proc_NowaPlatnoscEcard"; string nip = (string)Session["nip"]; string nrZlec = (string)Session["nrFaktury"]; string idFaktury = (string)Session["IdFaktury"]; string tORDERNUMBER = ""; using (SqlConnection conn = new SqlConnection(connString)) { SqlCommand cmd = new SqlCommand(cmdText, conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@ORDERDESCRIPTION", tORDERDESCRIPTION); int iidFaktury = Convert.ToInt32(idFaktury); cmd.Parameters.AddWithValue("@idFaktury", iidFaktury); cmd.Parameters.AddWithValue("@nip", nip); //cmd.Parameters.AddWithValue("@nrFaktury", nrZlec); int iAMOUNT = Convert.ToInt32(tAMOUNT); cmd.Parameters.AddWithValue("@AMOUNT", iAMOUNT); cmd.Parameters.AddWithValue("@CURRENCY", tCURRENCY); cmd.Parameters.AddWithValue("@SESSIONID", tSESSIONID); cmd.Parameters.AddWithValue("@NAME", tNAME); cmd.Parameters.AddWithValue("@SURNAME", tSURNAME); int iAUTODEPOSIT = Convert.ToInt32(tAUTODEPOSIT); cmd.Parameters.AddWithValue("@AUTODEPOSIT", iAUTODEPOSIT); cmd.Parameters.AddWithValue("@LANGUAGE", tLANGUAGE); cmd.Parameters.AddWithValue("@CHARSET", tCHARSET); cmd.Parameters.AddWithValue("@COUNTRY", tCOUNTRY); int JavaScript = vJS; cmd.Parameters.AddWithValue("@JS", JavaScript); cmd.Parameters.AddWithValue("@PAYMENTTYPE", tPAYMENTTYPE); conn.Open(); SqlDataReader reader = cmd.ExecuteReader(); reader.Read(); //reader.NextResult(); tORDERNUMBER = reader["ID"].ToString(); reader.Close(); conn.Close(); } ORDERNUMBER.Text = ""; // ---------------- Pobranie HASHA z eCardu ------------------ string strValue; string strResponse; string systemKsiegowy = Session["SystemKsiegowy"].ToString(); // Utworzenie żądania zwrotnego string strReq = "https://pay.ecard.pl/servlet/HS?orderNumber=" + tORDERNUMBER + "&amount=" + tAMOUNT + "¤cy=" + tCURRENCY; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(strReq); // Ustawienie wartości żądania zwrotnego req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; strValue = Int32.Parse(systemKsiegowy) == 1 ? "&orderDescription=&merchantId=170906000&password=JaYpqfs0" : "&orderDescription=&merchantId=171485000&password=ashSeth2"; req.ContentLength = strValue.Length; // Zapisanie łańcucha żądania zwrotnego StreamWriter stOut = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII); stOut.Write(strValue); stOut.Close(); // Przesyłanie żądanie do systemu eCard i uzyskanie odpowiedzi StreamReader stIn = new StreamReader(req.GetResponse().GetResponseStream()); strResponse = stIn.ReadToEnd(); stIn.Close(); //// Sprawdzenie odpowiedzi //if (strResponse == "zlyHash") //{ // // błędne parametry - zły numer zamówienia, opis, kwota lub waluta //} //else if (strResponse == "wrongPassword") //{ // // Niepoprawne hasło //} //else //{ // //OK //} string tHASH = strResponse; tHASH = tHASH.Trim(); HASH.Text = ""; string tMERCHANTID = (string)Session["MERCHANTID"]; MERCHANTID.Text = ""; LINKOK.Text = ""; LINKFAIL.Text = ""; } else { FormsAuthentication.SignOut(); Response.Redirect("login.aspx"); } } void CheckBrowserCaps() { string jsInfoText = "

Twoja przeglądarka ma wyłączoną obsługę Java Script.

Obsługa Java Script nie jest niezbędna, ale przyspiesza i upraszcza proces płatności.

Aby kontynuować proces naciśnij przycisk Dalej

"; System.Web.HttpBrowserCapabilities myBrowserCaps = Request.Browser; if (((System.Web.Configuration.HttpCapabilitiesBase)myBrowserCaps).EcmaScriptVersion.Major > 1) { jsInfo.Text = jsInfoText; JS.Text = ""; submit.Text = ""; vJS = 0; } else { jsInfo.Text = ""; JS.Text = ""; vJS = 1; } } private int JavaScript; public int vJS { get { return JavaScript; } set { JavaScript = value; } } }