protected void Page_Load(object sender, EventArgs e)
 {
     //Random rand = new Random((int)DateTime.Now.Ticks);
     //int numIterations = 0;
     //numIterations = rand.Next(1, 10000);
     //vpc_MerchTxnRef.Text = numIterations.ToString();
     vpc_MerchTxnRef.Text = (CIBDonor.GetMaxId() + 1).ToString();
 }
Esempio n. 2
0
    protected void SubButL_Click(object sender, EventArgs e)
    {
        string clientIp = (Request.ServerVariables["HTTP_X_FORWARDED_FOR"] ??
                           Request.ServerVariables["REMOTE_ADDR"]).Split(',')[0].Trim();



        bool isHuman = ExampleCaptcha.Validate(CaptchaCodeTextBox.Text);

        CaptchaCodeTextBox.Text = null;     // clear previous user input

        if (!isHuman)
        {
            // TODO: Captcha validation failed, show error message
            lbl_capcha.Text      = "من فضلك ادخل الحروف مرة اخرى";
            lbl_capcha.ForeColor = System.Drawing.Color.Red;
        }
        else
        {
            if (Visa.Checked == false && Master.Checked == false)
            {
                lbl_ERROR.Text = "من فضلك إختر نوع الكارت";
            }
            else
            {
                if (Visa.Checked)
                {
                    Radio.Text = "Visa";
                }
                else if (Master.Checked)
                {
                    Radio.Text = "MasterCard";
                }



                //Dictionary of the parameters sent with the http request.
                var     parameters  = new Dictionary <string, string>();
                decimal FinalAmount = decimal.Parse(Amount.Text) * 100;
                parameters.Add("amount", FinalAmount.ToString());
                parameters.Add("currency", "EGP");
                parameters.Add("merchant_identifier", "vftBmzKl");
                parameters.Add("access_code", "X9nbMqo2ZSyXdQwoqBkT");
                parameters.Add("order_description", drop_Project.SelectedValue);



                int    refe     = CIBDonor.GetMaxId() + 5;
                string refrence = refe.ToString();
                parameters.Add("merchant_reference", refrence);
                parameters.Add("customer_email", txtmail.Text);
                //parameters.Add("customer_ip", clientIp);
                parameters.Add("language", "en");


                //parameters.Add("Project", drop_Project.SelectedItem.ToString());
                parameters.Add("command", "PURCHASE");
                //parameters.Add("return_url", "http://www.dar-alorman.com/donateCIB/CS_VPC_3Party_DR.aspx");


                //parameters.Add("customer_name", txtname.Text);



                var sortedParameters        = parameters.OrderBy(x => x.Key);
                var stringSortedParameteres = sortedParameters.Aggregate("PASS", (current, item) => current + (item.Key + "=" + item.Value));
                stringSortedParameteres += "PASS";

                string hashedSignature = String.Empty;

                var    crypt  = SHA256.Create();
                string hash   = string.Empty;
                var    crypto = crypt.ComputeHash(Encoding.ASCII.GetBytes(stringSortedParameteres), 0, Encoding.ASCII.GetByteCount(stringSortedParameteres));
                hash = crypto.Aggregate(hash, (current, b) => current + b.ToString("x2"));

                parameters.Add("signature", hash);

                var temp = parameters.Select(d => string.Format("\"{0}\": \"{1}\"", d.Key, string.Join(",", d.Value)));
                var jsonRequestString = "{" + string.Join(",", temp) + "}";

                var data = Encoding.ASCII.GetBytes(jsonRequestString);



                var parameterValues = new NameValueCollection();
                foreach (var item in parameters)
                {
                    parameterValues.Add(item.Key, item.Value);
                }

                RedirectWithData("https://checkout.payfort.com/FortAPI/paymentPage", parameterValues);
            }
        }
    }