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) { } }
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"; } }
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(); } }
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) { } }