protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Request.QueryString["tx"] != null) { GetPayPalResponce(); } else if (Request.QueryString[Crypto.ArgumentEncrypt("Resp")] != null) { string Status = Crypto.Decrypt(Request.QueryString[Crypto.ArgumentEncrypt("Resp")].ToString(), true); Session["status"] = Status; if (Status.Equals("approved")) { Guid CustID = Guid.Parse(Session["CustomerID"].ToString()); ViewState["CurrentCustomer"] = CustID; Session["CustomerID"] = CustID; ManageUserSVC.ManageUserClient Client = new ManageUserSVC.ManageUserClient(); ManageUserSVC.ManageUserCoverageData Coverage = new ManageUserCoverageData(); if (Session["RenewCoverageInfo"] != null) { Coverage = (ManageUserSVC.ManageUserCoverageData)Session["RenewCoverageInfo"]; } else { Coverage = (ManageUserSVC.ManageUserCoverageData)Session["CoverageInfo"]; } Client.InsertCoverageData(Coverage); bool Propertybuy = false;; Client.Update_Payment(CustID, decimal.Parse(Session["Amount"].ToString()), Propertybuy); lblMessage.Text = "Thank you! Your payment was successful!"; string Local = System.Configuration.ConfigurationManager.AppSettings["HostingPrefix"]; dowload(Local.Replace("https://", "http://") + "ProofEvidence.aspx?" + Crypto.ArgumentEncrypt("sss") + "=" + Crypto.Encrypt(CustID.ToString(), true), Coverage); idspan.Visible = true; SendEmailForProofOfEvidnce(Client, CustID, Local); } else if (Status.Equals("notapproved")) { // mess.Visible = false; lblMessage.Text = "Your payment was not processed successfully. Please ensure your payment details are correct.Click" + " <a id='lnkAccount' runat='server' href='Register.aspx?" + Crypto.ArgumentEncrypt("retrypayment") + "=" + Crypto.Encrypt("1", true) + "' style='cursor:pointer;color:black;text-decoration: underline;'>here</a> " + "to retry payment."; } } } }
private void GetPayPalResponce() { string authToken, txToken, query, strResponse, Key, Val, status; authToken = WebConfigurationManager.AppSettings["PDTToken"]; //read in txn token from querystring txToken = Request.QueryString.Get("tx"); query = string.Format("cmd=_notify-synch&tx={0}&at={1}", txToken, authToken); // Create the request back string url = "https://www.sandbox.paypal.com/cgi-bin/webscr"; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); // Set values for the request back req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; req.ContentLength = query.Length; // Write the request back IPN strings StreamWriter stOut = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII); stOut.Write(query); stOut.Close(); StreamReader stIn = new StreamReader(req.GetResponse().GetResponseStream()); strResponse = stIn.ReadToEnd(); if (strResponse.Contains("\n")) { strResponse = strResponse.Replace("\n", " "); } status = strResponse.Substring(0, strResponse.IndexOf(" ")); if (status != "FAIL") { Guid CustID = Guid.Parse(Session["CustomerID"].ToString()); ManageUserSVC.ManageUserClient Client = new ManageUserSVC.ManageUserClient(); ManageUserSVC.ManageUserCoverageData Coverage = new ManageUserCoverageData(); if (Session["RenewCoverageInfo"] != null) { Coverage = (ManageUserSVC.ManageUserCoverageData)Session["RenewCoverageInfo"]; } else { Coverage = (ManageUserSVC.ManageUserCoverageData)Session["CoverageInfo"]; } Client.InsertCoverageData(Coverage); bool Propertybuy = false;; Client.Update_Payment(CustID, decimal.Parse(Session["Amount"].ToString()), Propertybuy); if (Session["RenewCoverageInfo"] != null) { lblMessage.Text = "Payment Successful! Your Account is Renewed Successfully!"; //todo sendmail for renew success } else { string baseurl = System.Configuration.ConfigurationManager.AppSettings["HostingPrefix"]; lblMessage.Text = "Thank you! Your payment was successful."; idspan.Visible = true; } string Local = System.Configuration.ConfigurationManager.AppSettings["HostingPrefix"]; dowload(Local.Replace("https://", "http://") + "ProofEvidence.aspx?" + Crypto.ArgumentEncrypt("sss") + "=" + Crypto.Encrypt(CustID.ToString(), true), Coverage); SendEmailForProofOfEvidnce(Client, CustID, Local); } else { lblMessage.Text = "Some Error Occured while processing, Please try again By login into Site.!"; } }