| 1 | using System;
|
|---|
| 2 | using System.Data;
|
|---|
| 3 | using System.Configuration;
|
|---|
| 4 | using System.Collections;
|
|---|
| 5 | using System.Web;
|
|---|
| 6 | using System.Web.Security;
|
|---|
| 7 | using System.Web.UI;
|
|---|
| 8 | using System.Web.UI.WebControls;
|
|---|
| 9 | using System.Web.UI.WebControls.WebParts;
|
|---|
| 10 | using System.Web.UI.HtmlControls;
|
|---|
| 11 | using System.Net;
|
|---|
| 12 | using System.IO;
|
|---|
| 13 | using System.Data.SqlClient;
|
|---|
| 14 | using System.Threading;
|
|---|
| 15 | using System.Globalization;
|
|---|
| 16 |
|
|---|
| 17 | public partial class Merchant : System.Web.UI.Page
|
|---|
| 18 | {
|
|---|
| 19 | protected override void InitializeCulture()
|
|---|
| 20 | {
|
|---|
| 21 | if (Session["culture"] != null)
|
|---|
| 22 | {
|
|---|
| 23 | UICulture = Session["culture"].ToString();
|
|---|
| 24 | Culture = Session["culture"].ToString();
|
|---|
| 25 |
|
|---|
| 26 | Thread.CurrentThread.CurrentCulture =
|
|---|
| 27 | CultureInfo.CreateSpecificCulture(Session["culture"].ToString());
|
|---|
| 28 | Thread.CurrentThread.CurrentUICulture =
|
|---|
| 29 | new CultureInfo(Session["culture"].ToString());
|
|---|
| 30 | }
|
|---|
| 31 | base.InitializeCulture();
|
|---|
| 32 | }
|
|---|
| 33 |
|
|---|
| 34 | protected void Page_Load(object sender, EventArgs e)
|
|---|
| 35 | {
|
|---|
| 36 | if (IsPostBack == false)
|
|---|
| 37 | {
|
|---|
| 38 | // -------------------------- FORMULARZ --------------------------------
|
|---|
| 39 | string tORDERDESCRIPTION = (string)Session["ORDERDESCRIPTION"];
|
|---|
| 40 | ORDERDESCRIPTION.Text = "<input name='ORDERDESCRIPTION' type='hidden' value='" + tORDERDESCRIPTION + "'/>";
|
|---|
| 41 | string tAMOUNT = (string)Session["AMOUNT"];
|
|---|
| 42 | AMOUNT.Text = "<input name='AMOUNT' type='hidden' value='" + tAMOUNT + "'/>";
|
|---|
| 43 | string tCURRENCY = (string)Session["CURRENCY"];
|
|---|
| 44 | CURRENCY.Text = "<input name='CURRENCY' type='hidden' value='" + tCURRENCY + "'/>";
|
|---|
| 45 | string tNAME = (string)Session["NAME"];
|
|---|
| 46 | NAME.Text = "<input name='NAME' type='hidden' value='" + tNAME + "'/>";
|
|---|
| 47 | string tSURNAME = (string)Session["SURNAME"];
|
|---|
| 48 | SURNAME.Text = "<input name='SURNAME' type='hidden' value='" + tSURNAME + "'/>";
|
|---|
| 49 | string tSESSIONID = (string)Session["SESSIONID"];
|
|---|
| 50 | //SESSIONID.Text = "<input name='SESSIONID' type='hidden' value='" + tSESSIONID + "'/>";
|
|---|
| 51 | string tLANGUAGE = (string)Session["LANGUAGE"];
|
|---|
| 52 | LANGUAGE.Text = "<input name='LANGUAGE' type='hidden' value='" + tLANGUAGE + "'/>";
|
|---|
| 53 | string tCHARSET = (string)Session["CHARSET"];
|
|---|
| 54 | CHARSET.Text = "<input name='CHARSET' type='hidden' value='" + tCHARSET + "'/>";
|
|---|
| 55 | string tCOUNTRY = (string)Session["COUNTRY"];
|
|---|
| 56 | COUNTRY.Text = "<input name='COUNTRY' type='hidden' value='" + tCOUNTRY + "'/>";
|
|---|
| 57 | string tPAYMENTTYPE = (string)Session["PAYMENTTYPE"];
|
|---|
| 58 | PAYMENTTYPE.Text = "<input name='PAYMENTTYPE' type='hidden' value='" + tPAYMENTTYPE + "'/>";
|
|---|
| 59 |
|
|---|
| 60 | CheckBrowserCaps();
|
|---|
| 61 |
|
|---|
| 62 | string tAUTODEPOSIT = (string)Session["AUTODEPOSIT"];
|
|---|
| 63 | AUTODEPOSIT.Text = "<input name='AUTODEPOSIT' type='hidden' value='" + tAUTODEPOSIT + "'/>";
|
|---|
| 64 |
|
|---|
| 65 | // ---------------- Pobranie ORDERNUMBER ---------------------
|
|---|
| 66 | string connString = ConfigurationManager.ConnectionStrings["BazaReklamConn"].ConnectionString;
|
|---|
| 67 | string cmdText = "proc_NowaPlatnoscEcard";
|
|---|
| 68 | string nip = (string)Session["nip"];
|
|---|
| 69 | string nrZlec = (string)Session["nrFaktury"];
|
|---|
| 70 | string idFaktury = (string)Session["IDFaktury"];
|
|---|
| 71 | string tORDERNUMBER = "";
|
|---|
| 72 | using (SqlConnection conn = new SqlConnection(connString))
|
|---|
| 73 | {
|
|---|
| 74 | SqlCommand cmd = new SqlCommand(cmdText, conn);
|
|---|
| 75 | cmd.CommandType = CommandType.StoredProcedure;
|
|---|
| 76 | cmd.Parameters.AddWithValue("@ORDERDESCRIPTION", tORDERDESCRIPTION);
|
|---|
| 77 | int iidFaktury = Convert.ToInt32(idFaktury);
|
|---|
| 78 | cmd.Parameters.AddWithValue("@idFaktury", iidFaktury);
|
|---|
| 79 | cmd.Parameters.AddWithValue("@nip", nip);
|
|---|
| 80 | //cmd.Parameters.AddWithValue("@nrFaktury", nrZlec);
|
|---|
| 81 | int iAMOUNT = Convert.ToInt32(tAMOUNT);
|
|---|
| 82 | cmd.Parameters.AddWithValue("@AMOUNT", iAMOUNT);
|
|---|
| 83 | cmd.Parameters.AddWithValue("@CURRENCY", tCURRENCY);
|
|---|
| 84 | cmd.Parameters.AddWithValue("@SESSIONID", tSESSIONID);
|
|---|
| 85 | cmd.Parameters.AddWithValue("@NAME", tNAME);
|
|---|
| 86 | cmd.Parameters.AddWithValue("@SURNAME", tSURNAME);
|
|---|
| 87 | int iAUTODEPOSIT = Convert.ToInt32(tAUTODEPOSIT);
|
|---|
| 88 | cmd.Parameters.AddWithValue("@AUTODEPOSIT", iAUTODEPOSIT);
|
|---|
| 89 | cmd.Parameters.AddWithValue("@LANGUAGE", tLANGUAGE);
|
|---|
| 90 | cmd.Parameters.AddWithValue("@CHARSET", tCHARSET);
|
|---|
| 91 | cmd.Parameters.AddWithValue("@COUNTRY", tCOUNTRY);
|
|---|
| 92 | int JavaScript = vJS;
|
|---|
| 93 | cmd.Parameters.AddWithValue("@JS", JavaScript);
|
|---|
| 94 | cmd.Parameters.AddWithValue("@PAYMENTTYPE", tPAYMENTTYPE);
|
|---|
| 95 | conn.Open();
|
|---|
| 96 | SqlDataReader reader = cmd.ExecuteReader();
|
|---|
| 97 | reader.Read();
|
|---|
| 98 | //reader.NextResult();
|
|---|
| 99 | tORDERNUMBER = reader["ID"].ToString();
|
|---|
| 100 | reader.Close();
|
|---|
| 101 | conn.Close();
|
|---|
| 102 | }
|
|---|
| 103 |
|
|---|
| 104 | ORDERNUMBER.Text = "<input name='ORDERNUMBER' type='hidden' value='" + tORDERNUMBER + "'/>";
|
|---|
| 105 |
|
|---|
| 106 | // ---------------- Pobranie HASHA z eCardu ------------------
|
|---|
| 107 |
|
|---|
| 108 | string strValue;
|
|---|
| 109 | string strResponse;
|
|---|
| 110 | string systemKsiegowy = Session["SystemKsiegowy"].ToString();
|
|---|
| 111 | // Utworzenie ¿¹dania zwrotnego
|
|---|
| 112 | string strReq = "https://pay.ecard.pl/servlet/HS?orderNumber=" + tORDERNUMBER + "&amount=" + tAMOUNT + "¤cy=" + tCURRENCY;
|
|---|
| 113 | HttpWebRequest req = (HttpWebRequest)WebRequest.Create(strReq);
|
|---|
| 114 | // Ustawienie wartoci ¿¹dania zwrotnego
|
|---|
| 115 | req.Method = "POST";
|
|---|
| 116 | req.ContentType = "application/x-www-form-urlencoded";
|
|---|
| 117 | strValue = Int32.Parse(systemKsiegowy) == 1 ? "&orderDescription=&merchantId=170906000&password=JaYpqfs0" : "&orderDescription=&merchantId=171485000&password=ashSeth2";
|
|---|
| 118 | req.ContentLength = strValue.Length;
|
|---|
| 119 | // Zapisanie ³añcucha ¿¹dania zwrotnego
|
|---|
| 120 | StreamWriter stOut = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII);
|
|---|
| 121 | stOut.Write(strValue);
|
|---|
| 122 | stOut.Close();
|
|---|
| 123 |
|
|---|
| 124 | // Przesy³anie ¿¹danie do systemu eCard i uzyskanie odpowiedzi
|
|---|
| 125 | StreamReader stIn = new StreamReader(req.GetResponse().GetResponseStream());
|
|---|
| 126 | strResponse = stIn.ReadToEnd();
|
|---|
| 127 | stIn.Close();
|
|---|
| 128 |
|
|---|
| 129 | // Sprawdzenie odpowiedzi
|
|---|
| 130 | if (strResponse == "zlyHash")
|
|---|
| 131 | {
|
|---|
| 132 | // b³êdne parametry - z³y numer zamówienia, opis, kwota lub waluta
|
|---|
| 133 |
|
|---|
| 134 | }
|
|---|
| 135 | else if (strResponse == "wrongPassword")
|
|---|
| 136 | {
|
|---|
| 137 | // Niepoprawne has³o
|
|---|
| 138 | }
|
|---|
| 139 | else
|
|---|
| 140 | {
|
|---|
| 141 | //OK
|
|---|
| 142 | }
|
|---|
| 143 |
|
|---|
| 144 | string tHASH = strResponse;
|
|---|
| 145 | tHASH = tHASH.Trim();
|
|---|
| 146 | HASH.Text = "<input name='HASH' type='hidden' value='" + tHASH + "'/>";
|
|---|
| 147 | string tMERCHANTID = (string)Session["MERCHANTID"];
|
|---|
| 148 | MERCHANTID.Text = "<input name='MERCHANTID' type='hidden' value='" + tMERCHANTID + "'/>";
|
|---|
| 149 | LINKOK.Text = Int32.Parse(systemKsiegowy) == 1 ? "<input name='LINKOK' type='hidden' value='http://platnosci.admoto.pl/info.aspx?status=ok'/>" : "<input name='LINKOK' type='hidden' value='http://pay.truck-expo.com/info.aspx?status=ok'/>"; ;
|
|---|
| 150 | LINKFAIL.Text = Int32.Parse(systemKsiegowy) == 1 ? "<input name='LINKFAIL' type='hidden' value='http://platnosci.admoto.pl/info.aspx?status=fail'/>" : "<input name='LINKFAIL' type='hidden' value='http://pay.truck-expo.com/info.aspx?status=fail'/>";
|
|---|
| 151 | }
|
|---|
| 152 | else
|
|---|
| 153 | {
|
|---|
| 154 | FormsAuthentication.SignOut();
|
|---|
| 155 | Response.Redirect("login.aspx");
|
|---|
| 156 | }
|
|---|
| 157 |
|
|---|
| 158 | }
|
|---|
| 159 |
|
|---|
| 160 | void CheckBrowserCaps()
|
|---|
| 161 | {
|
|---|
| 162 | string jsInfoText = "<h2>Twoja przegl¹darka ma wy³¹czon¹ obs³ugê Java Script.</h2><p>Obs³uga Java Script nie jest niezbêdna, ale przyspiesza i upraszcza proces p³atnoci.</p><p>Aby kontynuowaæ proces nacinij przycisk Dalej</p>";
|
|---|
| 163 | System.Web.HttpBrowserCapabilities myBrowserCaps = Request.Browser;
|
|---|
| 164 | if (((System.Web.Configuration.HttpCapabilitiesBase)myBrowserCaps).EcmaScriptVersion.Major > 1)
|
|---|
| 165 | {
|
|---|
| 166 | jsInfo.Text = jsInfoText;
|
|---|
| 167 | JS.Text = "<input name='JS' type='hidden' value='0'/>";
|
|---|
| 168 | submit.Text = "<input type='submit' value='Dalej'/>";
|
|---|
| 169 | vJS = 0;
|
|---|
| 170 | }
|
|---|
| 171 | else
|
|---|
| 172 | {
|
|---|
| 173 | jsInfo.Text = "";
|
|---|
| 174 | JS.Text = "<input name='JS' type='hidden' value='1'/>";
|
|---|
| 175 | vJS = 1;
|
|---|
| 176 | }
|
|---|
| 177 |
|
|---|
| 178 | }
|
|---|
| 179 |
|
|---|
| 180 | private int JavaScript;
|
|---|
| 181 | public int vJS
|
|---|
| 182 | {
|
|---|
| 183 | get
|
|---|
| 184 | {
|
|---|
| 185 | return JavaScript;
|
|---|
| 186 | }
|
|---|
| 187 | set
|
|---|
| 188 | {
|
|---|
| 189 | JavaScript = value;
|
|---|
| 190 | }
|
|---|
| 191 | }
|
|---|
| 192 | }
|
|---|