예제 #1
0
        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.";
                    }
                }
            }
        }
예제 #2
0
        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.!";
            }
        }