protected void btnSubmit_Click(object sender, EventArgs e) { Session["Name"] = txtName.Text; Session["Email"] = txtEmailAddress.Text; Session["ContactNo"] = txtContactNo.Text; //Session["Paymentgateway"] = rbl_CardType.SelectedValue; Session["Paymentgateway"] = "HDFC"; Decimal TotalAmount = Convert.ToDecimal(Session["TotalAmount"].ToString()); Decimal PayableAmount = Convert.ToDecimal(Session["PayableAmount"].ToString()); DateTime DateofBooking = DateTime.Now.Date; string ISDCode = "91"; TransactionRecord tr = new TransactionRecord(); tr.SummerBookingID = GTICKBOL.SummerBooking_Max(); Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write(tr.SummerBookingID.ToString() + "booking id"); Session["BookingID"] = tr.SummerBookingID; Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write(tr.SummerBookingID.ToString() + "booking id"); tr.SummerPayableAmount = Convert.ToDecimal(Session["PayableAmount"].ToString()); //DateTime day = Convert.ToDateTime(Session["day"]); MaxBookingId(); //GTICKBOL.MMTBooking_Details(Convert.ToInt16(Session["NoofPackages"]), Session["pnr"].ToString(), Session["promocode"].ToString(), Convert.ToDecimal(Session["TotalAmount"].ToString()), Convert.ToDecimal(Session["PayableAmount"].ToString()), DateofBooking, Session["BookingID"].ToString(), day, Session["Name"].ToString(), Session["Email"].ToString(), Session["ContactNo"].ToString(), Session["Paymentgateway"].ToString(), false, ""); GTICKBOL.SummerBooking_Details(Convert.ToInt16(Session["NoofTickets"]), Convert.ToDecimal(Session["TotalAmount"].ToString()), Convert.ToDecimal(Session["PayableAmount"].ToString()), DateofBooking, Session["BookingID"].ToString(), Session["Name"].ToString(), Session["Email"].ToString(), Session["ContactNo"].ToString(), Session["Paymentgateway"].ToString(), false, ""); ////Parameters for AMEX......................... //string Street = txt_street.Text; //string Pin = txt_pin.Text; //string Country = ddl_country.SelectedValue; //string tital = Ddl_title.SelectedValue; //string fname = Txtfname.Text; //string mname = Txtmname.Text; //string lname = Txtlname.Text; //string city = Txtcity.Text; //string state = Txtstate.Text; //string country = txt_country.SelectedValue; string trackId, amount; trackId = Session["BookingID"].ToString(); Session["trackId"] = trackId; amount = Session["PayableAmount"].ToString(); Session["amount"] = amount; //if (rbl_CardType.SelectedValue == "IDBI") //{ // string URL = ""; // GTICKV.LogEntry(tr.BookingID.ToString(), "Sending to IDBI Payment Gateway", "8", trackId.ToString()); // URL = "Idbi/Default.aspx?type=idbi&transid=" + trackId+"~SummerCamp" + "&amt=" + tr.SummerPayableAmount // + "&show=" + "SummerCamp"; // Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("url="+URL); // Response.Redirect(URL, false); //} // Session["PayDetailsTemp"] = tr.BookingID.ToString() + "_" + trackId + "~" + "web" + "|" + tr.MMTPayableAmount + "|" + "Jhumroo"; // if (rbl_CardType.SelectedValue == "HDFC") //{ string URL = ""; Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write(Session["BookingID"].ToString() + "Sending to HDFC Payment Gateway"); //GTICKV.LogEntry(tr.NYBookingID.ToString(), "Sending to HDFC Payment Gateway", "8", ""); String ErrorUrl = KoDTicketingIPAddress + "SumerCamp/HDFC/Error.aspx"; String ResponseUrl = KoDTicketingIPAddress + "SumerCamp/HDFC/ReturnReceipt.aspx"; //string qrystr = "id=" + HDFCTransPortalID + "&password="******"&action=1&langid=USA¤cycode=356&amt=" + Server.UrlEncode(amount) // + "&responseURL=" + Server.UrlEncode(ResponseUrl) + "&errorURL=" + Server.UrlEncode(ErrorUrl) // + "&trackid=" + trackId // + "&udf1=TicketBooking&udf2=" + Server.UrlEncode(txtEmailAddress.Text.Trim()) // + "&udf3=" + Server.UrlEncode(txtISDCode.Text + txtContactNo.Text) + "&udf4=" + Server.UrlEncode(txtAddress.Text.Trim()) + "&udf5=" + tr.BookingID; string qrystr = "id=" + HDFCTransPortalID + "&password="******"&action=1&langid=USA¤cycode=356&amt=" + amount + "&responseURL=" + Server.UrlEncode(ResponseUrl) + "&errorURL=" + Server.UrlEncode(ErrorUrl) + "&trackid=" + trackId + "&udf1=TicketBooking&udf2=" + txtEmailAddress.Text.Trim() + "&udf3=" + Server.UrlEncode(ISDCode.ToString().TrimStart('+') + txtContactNo.Text) + "&udf4=" + Server.UrlEncode(txtName.Text.Trim()) + "&udf5=" + tr.SummerBookingID.ToString(); Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Preparing for HDFC Payment..." + qrystr); //Writefile_new("\n***************Initial Request********************", Server.MapPath("~")); //Writefile_new("\n\nDateTime:" + DateTime.Now.ToString("dd/MM/yy HH:mm:ss") + " Reference No:" + trackId + "Request XML:" + qrystr, Server.MapPath("~")); System.IO.StreamWriter requestWriter = null; Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Redirecting for HDFC Payment..." + HDFCTransUrl); System.Net.HttpWebRequest objRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(HDFCTransUrl); //create a SSL connection object server-to-server objRequest.Method = "POST"; objRequest.ContentLength = qrystr.Length; objRequest.ContentType = "application/x-www-form-urlencoded"; objRequest.CookieContainer = new System.Net.CookieContainer(); try { Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Processing request for HDFC Payment..."); requestWriter = new System.IO.StreamWriter(objRequest.GetRequestStream()); // here the request is sent to payment gateway requestWriter.Write(qrystr); } catch (Exception ex) { Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Excetion while processing HDFC payment: " + trackId + ex.Message); } if (requestWriter != null) { requestWriter.Close(); } Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Review validation response from HDFC Payment Gateway..."); System.Net.HttpWebResponse objResponse = (System.Net.HttpWebResponse)objRequest.GetResponse(); //System.Net.CookieContainer responseCookiesContainer = new System.Net.CookieContainer(); //foreach (System.Net.Cookie cook in objResponse.Cookies) //{ // responseCookiesContainer.Add(cook); //} using (System.IO.StreamReader sr = new System.IO.StreamReader(objResponse.GetResponseStream())) { String NSDLval = sr.ReadToEnd(); Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Response: " + NSDLval); if (NSDLval.Contains("Invalid User Defined Field")) { lblMess.Text = "The information submitted contains some invalid character, please avoid using [+,-,#] etc."; return; } //Writefile_new("\n***************Initial Response********************", Server.MapPath("~")); //Writefile_new("\n\nDateTime:" + DateTime.Now.ToString("dd/MM/yy HH:mm:ss") + " Reference No:" + trackId + "Request XML:" + NSDLval, Server.MapPath("~")); if (NSDLval.IndexOf("http") == -1) { lblMess.Text = "Payment cannot be processed with information provided."; return; } // gb.HDFCLog(transid.ToString(), "", trackId, "***Initial Response*** : " + NSDLval); string strPmtId = NSDLval.Substring(0, NSDLval.IndexOf(":http")); // Merchant MUST map (update) the Payment ID received with the merchant Track Id in his database at this place. string strPmtUrl = NSDLval.Substring(NSDLval.IndexOf("http")); if (strPmtId != String.Empty && strPmtUrl != String.Empty) { URL = strPmtUrl.ToString() + "?PaymentID=" + strPmtId; } else { lblMess.Text = "Invalid Response!"; } sr.Close(); } Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Payment Redirection: " + URL); Response.Redirect(URL, false); // } //else if (rbl_CardType.SelectedValue == "AMEX") //{ // string URL = ""; // GTICKV.LogEntry(tr.BookingID.ToString(), "Sending to AMEX Payment Gateway", "8", trackId.ToString()); // if (ddl_country.SelectedValue == "india") // URL = "AMEX/Default.aspx?type=amex&transid=" + trackId + "&amt=" + tr.MMTPayableAmount // + "&show=" + "" + "&title=" + "" + "&fname=" + "" + "&mname=" + "" + "&lname=" + "" + "&street=" + "NA" + "&city=" + "NA" + "&state=" + "NA" + "&pin=" + "NA" + "&country=" + ""; // else // URL = "AMEX/Default.aspx?type=amex&transid=" + trackId + "&amt=" + tr.MMTPayableAmount // + "&show=" + "" + "&title=" + tital + "&fname=" + fname + "&mname=" + mname + "&lname=" + lname + "&street=" + Street + "&city=" + city + "&state=" + state + "&pin=" + Pin + "&country=" + country; // Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write("Payment Redirection: " + URL); // Response.Redirect(URL, false); // Response.Redirect(URL, false); //} }