protected void TlsVersionCheck()
 {
     try
     {
         string strResponse = new PayuCommunication().getResponse("getTlsVersion", ConfigurationManager.AppSettings["MERCHANT_KEY"], ConfigurationManager.AppSettings["MERCHANT_SALT"], "tls");
         lblMsg.Text = strResponse;
     }
     catch (Exception ex)
     {
     }
 }
Exemplo n.º 2
0
    protected void btnCheck_Click(object sender, EventArgs e)
    {
        string strResponse = new PayuCommunication().getResponse("verify_payment", ConfigurationManager.AppSettings["MERCHANT_KEY"], ConfigurationManager.AppSettings["MERCHANT_SALT"], txtTxnId.Text.Trim());

        if (strResponse != null)
        {
            JObject obj      = JObject.Parse(strResponse);
            JObject t_detail = (JObject)obj["transaction_details"];
            string  status   = (string)obj["status"];
            string  message  = (string)obj["msg"];
            new DbCommunication().LogWrite(message);
            if (status.Equals("1"))
            {
                foreach (KeyValuePair <string, JToken> x in t_detail)
                {
                    string  name  = x.Key;
                    JObject value = (JObject)x.Value;

                    bank_ref_num = (string)value["bank_ref_num"];
                    txnid        = (string)value["txnid"];
                    addedon      = (string)value["addedon"];
                    status       = (string)value["status"];
                    mode         = (string)value["mode"];
                    udf1         = (string)value["udf1"];
                    udf2         = (string)value["udf2"];
                    udf3         = (string)value["udf3"];
                    udf4         = (string)value["udf4"];
                    udf5         = (string)value["udf5"];
                    amount       = (string)value["amt"];
                    mihpayid     = (string)value["mihpayid"];

                    //----here you can update your payment status
                    lblMsg.Text = strResponse;

                    clearVariable();
                }
            }
        }
        else
        {
            lblMsg.Text = "Problem occur in API Call";
        }
    }
Exemplo n.º 3
0
    protected void btnRefund_Click(object sender, EventArgs e)
    {
        lblMsg.Text = string.Empty;
        try
        {
            Session["ReferenceNo"] = "123456";
            string   strTxnId;
            DateTime dtNow = DateTime.Now;
            strTxnId = dtNow.ToString("yyyyMMdd") + "_" + dtNow.ToString("HHmmssfff") + "_" + Session["ReferenceNo"];

            //------Here you can store log of refund request.

            string strResult = new PayuCommunication().cancelRefundTransaction(ConfigurationManager.AppSettings["MERCHANT_KEY"], ConfigurationManager.AppSettings["MERCHANT_SALT"], txtPayuId.Text, strTxnId, txtAmountToRefund.Text);
            if (strResult != null)
            {
                JObject obj    = JObject.Parse(strResult);
                string  status = (string)obj["status"];
                if (status.Equals("1"))
                {
                    string msg          = (string)obj["msg"];
                    string request_id   = (string)obj["request_id"];
                    string bank_ref_num = (string)obj["bank_ref_num"];
                    string mihpayid     = (string)obj["mihpayid"];

                    //-----Here you can update your refund log table with txn_update_id and bank_ref_num both id is different from payment request response.
                    lblMsg.Text = msg + ", Request ID=" + request_id + ", Bank Reference Number=" + bank_ref_num + ", PayU Transaction id=" + mihpayid;
                }
                else
                {
                    lblMsg.Text = (string)obj["msg"];
                }
            }
            else
            {
                lblMsg.Text = "Problem occur in API Call";
            }
        }
        catch (Exception ex)
        {
            lblMsg.Text = ex.Message.ToString();
        }
    }
Exemplo n.º 4
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            try
            {
                key  = ConfigurationManager.AppSettings["MERCHANT_KEY"];
                salt = ConfigurationManager.AppSettings["MERCHANT_SALT"];

                string[] merc_hash_vars_seq = ConfigurationManager.AppSettings["PAYU_HASH"].Split('|');
                string   merc_hash_string   = string.Empty;
                string   merc_hash          = string.Empty;
                if (Request.Form["status"] == "success")
                {
                    Array.Reverse(merc_hash_vars_seq);
                    if (Request.Form["additionalCharges"] != null)
                    {
                        merc_hash_string = Request.Form["additionalCharges"] + "|" + salt + "|" + Request.Form["status"];
                    }
                    else
                    {
                        merc_hash_string = salt + "|" + Request.Form["status"];
                    }


                    foreach (string merc_hash_var in merc_hash_vars_seq)
                    {
                        merc_hash_string += "|";
                        merc_hash_string  = merc_hash_string + (Request.Form[merc_hash_var] != null ? Request.Form[merc_hash_var] : "");
                    }
                    merc_hash = new PayuCommunication().Generatehash512(merc_hash_string).ToLower();

                    if (merc_hash == Request.Form["hash"])
                    {
                        txnid          = Request.Form["txnid"];
                        amount         = Request.Form["amount"];
                        productinfo    = Request.Form["productinfo"];
                        firstname      = Request.Form["firstname"];
                        email          = Request.Form["email"];
                        phone          = Request.Form["phone"];
                        lastname       = Request.Form["lastname"];
                        address1       = Request.Form["address1"];
                        address2       = Request.Form["address2"];
                        city           = Request.Form["city"];
                        state          = Request.Form["state"];
                        country        = Request.Form["country"];
                        zipcode        = Request.Form["zipcode"];
                        udf1           = Request.Form["udf1"];
                        udf2           = Request.Form["udf2"];
                        udf3           = Request.Form["udf3"];
                        udf4           = Request.Form["udf4"];
                        udf5           = Request.Form["udf5"];
                        mihpayid       = Request.Form["mihpayid"];
                        mode           = Request.Form["mode"];
                        status         = Request.Form["status"];
                        error          = Request.Form["error"];
                        PG_TYPE        = Request.Form["PG_TYPE"];
                        bank_ref_num   = Request.Form["bank_ref_num"];
                        unmappedstatus = Request.Form["unmappedstatus"];

                        lblMsg.Text = " Your Transaction Status is " + status + " and TxnId id " + txnid + " and PayuId id " + mihpayid;

                        //string query = "update PayuRequestLog set PayuId='"+mihpayid+"',BankRefNo='"+bank_ref_num+"', Status='success' where TxnId='"+txnid+"' ";
                        //int iResult = new DbCommunication().ExecuteQuery(query);
                    }
                    else
                    {
                        txnid        = Request.Form["txnid"];
                        mihpayid     = Request.Form["mihpayid"];
                        bank_ref_num = Request.Form["bank_ref_num"];
                        lblMsg.Text  = " Your Transaction Status is " + status + " (Secure Hash Not Matched) and TxnId id " + txnid + " and PayuId id " + mihpayid;
                        //hash not matched
                    }
                }

                else
                {
                    txnid        = Request.Form["txnid"];
                    mihpayid     = Request.Form["mihpayid"];
                    bank_ref_num = Request.Form["bank_ref_num"];
                    lblMsg.Text  = " Your Transaction Status is " + status + " and TxnId id " + txnid + " and PayuId id " + mihpayid;
                    //fail
                }
            }
            catch
            {
            }
        }
    }
    protected void GoPayment(string strBankName, string strKey, string strSalt)
    {
        try
        {
            string   strTxnId;
            DateTime dtNow = DateTime.Now;
            strTxnId = dtNow.ToString("yyyyMMdd") + "_" + dtNow.ToString("HHmmssfff") + "_" + Session["ReferenceNo"];

            string[] hashVarsSeq = ConfigurationManager.AppSettings["PAYU_HASH"].Split('|');
            string   hash_string = string.Empty;
            hash_string = "";

            string strAmount      = "1";
            string strProductInfo = "Testing";
            string strFirstName   = "firstname";
            string strLastName    = "lastName";
            string strEmail       = "*****@*****.**";
            string strPhone       = "9999999999";
            string strAddress1    = "address1";
            string strAddress2    = "address2";
            string strUdf1        = "udf1";
            string strUdf2        = "udf2";
            string strUdf3        = "udf3";
            string strUdf4        = "udf4";
            string strUdf5        = "udf5";
            foreach (string hash_var in hashVarsSeq)
            {
                if (hash_var == "key")
                {
                    hash_string = hash_string + strKey;
                    hash_string = hash_string + '|';
                }
                else if (hash_var == "txnid")
                {
                    hash_string = hash_string + strTxnId;
                    hash_string = hash_string + '|';
                }
                else if (hash_var == "amount")
                {
                    hash_string = hash_string + strAmount;
                    hash_string = hash_string + '|';
                }
                else if (hash_var == "productinfo")
                {
                    hash_string = hash_string + strProductInfo;
                    hash_string = hash_string + '|';
                }
                else if (hash_var == "firstname")
                {
                    hash_string = hash_string + strFirstName;
                    hash_string = hash_string + '|';
                }
                else if (hash_var == "email")
                {
                    hash_string = hash_string + strEmail;//"*****@*****.**";//
                    hash_string = hash_string + '|';
                }
                else if (hash_var == "phone")
                {
                    hash_string = hash_string + strPhone;
                    hash_string = hash_string + '|';
                }
                else if (hash_var == "udf2")
                {
                    hash_string = hash_string + strUdf2;
                    hash_string = hash_string + '|';
                }
                else if (hash_var == "udf3")
                {
                    hash_string = hash_string + strUdf3;
                    hash_string = hash_string + '|';
                }
                else if (hash_var == "udf4")
                {
                    hash_string = hash_string + strUdf4;
                    hash_string = hash_string + '|';
                }
                else if (hash_var == "udf5")
                {
                    hash_string = hash_string + strUdf5;
                    hash_string = hash_string + '|';
                }
                else
                {
                    hash_string = hash_string + (Request.Form[hash_var] != null ? Request.Form[hash_var] : "");// isset if else
                    hash_string = hash_string + '|';
                }
            }

            hash_string += strSalt;// appending SALT

            string hash       = new PayuCommunication().Generatehash512(hash_string).ToLower();
            string strFullUrl = HttpContext.Current.Request.Url.AbsoluteUri;
            string strAction  = ConfigurationManager.AppSettings["PAYU_BASE_URL"];

            System.Collections.Hashtable data = new System.Collections.Hashtable(); // adding values in hash table for data post
            data.Add("hash", hash);
            data.Add("key", strKey);
            data.Add("txnid", strTxnId);
            data.Add("amount", strAmount);
            data.Add("productinfo", strProductInfo);
            data.Add("firstname", strFirstName);
            data.Add("lastname", strLastName);
            data.Add("email", strEmail);
            data.Add("phone", strPhone);
            data.Add("address1", strAddress1);
            data.Add("address2", strAddress2);
            data.Add("city", strFullUrl);
            data.Add("udf2", strUdf2);
            data.Add("udf3", strUdf3);
            data.Add("udf4", strUdf4);
            data.Add("udf5", strUdf5);
            data.Add("surl", "http://localhost:49253/PayuResponse.aspx");
            data.Add("furl", "http://localhost:49253/PayuResponse.aspx");
            data.Add("curl", "http://localhost:49253/PayuResponse.aspx");

            string query   = "INSERT INTO PayuRequestLog(TxnId,InstituteId,PayuId,BankRefNo, RequestTime, Status) VALUES('" + strTxnId + "','" + strFirstName + "','','', 'getdate()', 'IN_PROGESS')";
            int    iResult = new DbCommunication().ExecuteQuery(query);

            string strForm = new PayuCommunication().PostFormSeamless(strAction, data);
            Page.Controls.Add(new LiteralControl(strForm));
        }
        catch (Exception ex)
        {
        }
    }