Line 1: using System;
Line 2: using System.Collections.Generic;
Line 3: using System.Collections.Specialized;
Line 4: using System.Data;
Line 5: using System.Data.SqlClient;
Line 6: using System.Net;
Line 7: using System.ServiceModel.Activation;
Line 8: using System.Web;
Line 9:
Line 10:
Line 11: namespace APAASVC
Line 12: {
Line 13: [AspNetCompatibilityRequirements(
Line 14: RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
Line 15: public partial class APAASVC : IAPAASVC
Line 16: {
Line 17: # region DBConnection Object
Line 18: DBConectionSVC dbCon = new DBConectionSVC();
Line 19: SqlCommand sqlCmd = null;
Line 20: # endregion
Line 21:
Line 22: public List<clsPaymentStatusInfo> getPaymentStatusInfo(string RID, string CRN)
Line 23: {
Line 24: List<clsPaymentStatusInfo> llist = new List<clsPaymentStatusInfo>();
Line 25: clsPaymentStatusInfo ilist = default(clsPaymentStatusInfo);
Line 26:
Line 27: string VER = "1";
Line 28: string CID = "2675";
Line 29: string TYP = "prod";
Line 30: string BRN = "";
Line 31: string CKS = CommonFunction.getHashSHA256(CID + RID + CRN + "axis");
Line 32:
Line 33: string strRequestData = string.Format("RID={0}&VER={1}&CID={2}&TYP={3}&CRN={4}&BRN={5}&CKS={6}", RID, VER, CID, TYP, CRN, BRN, CKS);
Line 34: string strEncryptedRequest = CommonFunction.AESEncryption(strRequestData);
Line 35: string enquireUrl = "https://easypay.axisbank.co.in/api/enquiry";// "https://etendering.axisbank.co.in/index.php/api/enquiry";
Line 36:
Line 37: string result = "";
Line 38: string strDycryptedResponse = "";
Line 39:
Line 40: CSMPDK_3_0.CommonDLL ObjCmnDll = new CSMPDK_3_0.CommonDLL();
Line 41: string retval = string.Empty;
Line 42:
Line 43: try
Line 44: {
Line 45: using (WebClient client = new WebClient())
Line 46: {
Line 47: ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
Line 48: ServicePointManager.ServerCertificateValidationCallback += new System.Net.Security.RemoteCertificateValidationCallback((s, ce, ch, ssl) => true);
Line 49: byte[] response = client.UploadValues(enquireUrl, new NameValueCollection() { { "i", strEncryptedRequest } });
Line 50:
Line 51: result = System.Text.Encoding.UTF8.GetString(response);
Line 52:
Line 53: strDycryptedResponse = CommonFunction.Decryption(result);
Line 54: var query = HttpUtility.ParseQueryString(strDycryptedResponse);
Line 55:
Line 56: ilist = new clsPaymentStatusInfo();
Line 57: ilist.PaymentId = Convert.ToInt32(query.Get("RID").Remove(0, 1));
Line 58: ilist.PaidAmount = Convert.ToString(query.Get("AMT"));
Line 59: ilist.PaidOn = Convert.ToString(query.Get("TET"));
Line 60: ilist.BankRefNo = Convert.ToString(query.Get("BRN"));
Line 61: ilist.StatusCode = Convert.ToString(query.Get("STC"));
Line 62: ilist.Remarks = Convert.ToString(query.Get("RMK"));
Line 63: ilist.TransRefNo = Convert.ToString(query.Get("TRN"));
Line 64: ilist.PaymentMode = Convert.ToString(query.Get("PMD"));
Line 65: llist.Add(ilist);
Line 66: }
Line 67: }
Line 68: catch (Exception ex)
Line 69: {
Line 70: object[] objParam = { "@chrAction", "H", "@vchPlainMsg", strRequestData, "@vchEncryptMsg", strEncryptedRequest, "@vchErrorMsg", ex.Message + " Bank Response:" + result, "@vchMsgOut", "out" };
Line 71: retval = (string)ObjCmnDll.DbExecuteNonQuery("ConnectionString", "usp_DCB_PaymentDetails_Manage", objParam);
Line 72: }
Line 73: finally
Line 74: {
Line 75: VER = "";
Line 76: CID = "";
Line 77: TYP = "";
Line 78: BRN = "";
Line 79: CKS = "";
Line 80: strRequestData = "";
Line 81: strEncryptedRequest = "";
Line 82: enquireUrl = "";
Line 83: result = "";
Line 84: strDycryptedResponse = "";
Line 85: ObjCmnDll = null;
Line 86: }
Line 87: return llist;
Line 88: }
Line 89:
Line 90: public clsOutput SendSMSMSDG(string MobileNo, string Message, string TemplateId)
Line 91: {
Line 92: CSMPDK_3_0.CommonDLL ObjCmnDll = new CSMPDK_3_0.CommonDLL();
Line 93: clsOutput objOut = new clsOutput();
Line 94: string retval = string.Empty;
Line 95: string Status = "";
Line 96: try
Line 97: {
Line 98: string Server = System.Configuration.ConfigurationManager.AppSettings["Server"].ToString();
Line 99: if (Server == "prod")//prod
Line 100: {
Line 101: Status = SMSClass.SingleSMS(Message, MobileNo, TemplateId);
Line 102: objOut.Status = Status;
Line 103: }
Line 104: object[] objParam = { "@vchMobileNo", MobileNo, "@vchMessageText", Message, "@vchStatus", Status, "@VCHOUTPUT", "out" };
Line 105: retval = (string)ObjCmnDll.DbExecuteNonQuery("ConnectionString", "usp_SMS_Log", objParam);
Line 106: }
Line 107: catch (Exception ex)
Line 108: {
Line 109: objOut.Status = ex.Message;
Line 110: object[] objParam = { "@vchMobileNo", MobileNo, "@vchMessageText", Message, "@vchStatus", ex.Message, "@VCHOUTPUT", "out" };
Line 111: retval = (string)ObjCmnDll.DbExecuteNonQuery("ConnectionString", "usp_SMS_Log", objParam);
Line 112: }
Line 113: finally
Line 114: {
Line 115: ObjCmnDll = null;
Line 116: }
Line 117: return objOut;
Line 118: }
Line 119:
Line 120: public List<clsPaymentStatusInfo> getPaymentStatusInfoICICI(string referenceno)
Line 121: {
Line 122: List<clsPaymentStatusInfo> llist = new List<clsPaymentStatusInfo>();
Line 123: clsPaymentStatusInfo ilist = default(clsPaymentStatusInfo);
Line 124:
Line 125: string strRequestData = string.Empty;
Line 126: string enquireUrl = string.Empty;
Line 127: string ezpaytranid = string.Empty;
Line 128: string amount = string.Empty;
Line 129: string paymentmode = string.Empty;
Line 130: string trandate = string.Empty;
Line 131: string merchantid = string.Empty;
Line 132: string pgreferenceno = referenceno;
Line 133: string SrtServer = System.Configuration.ConfigurationManager.AppSettings["Server"];
Line 134: if (string.Equals(SrtServer, "prod", StringComparison.OrdinalIgnoreCase)) //By running by production server
Line 135: {
Line 136: merchantid = "245996";
Line 137: strRequestData = string.Format("ezpaytranid={0}&amount={1}&paymentmode={2}&merchantid={3}&trandate={4}&pgreferenceno={5}", ezpaytranid, amount, paymentmode, merchantid, trandate, pgreferenceno);
Line 138: enquireUrl = "https://eazypay.icicibank.com/EazyPGVerify?" + strRequestData;
Line 139: }
Line 140: else
Line 141: {
Line 142: merchantid = "120283";
Line 143: strRequestData = string.Format("ezpaytranid={0}&amount={1}&paymentmode={2}&merchantid={3}&trandate={4}&pgreferenceno={5}", ezpaytranid, amount, paymentmode, merchantid, trandate, pgreferenceno);
Line 144: enquireUrl = "https://eazypayuat.icicibank.com/EazyPGVerify?" + strRequestData; // By running UAT server
Line 145: }
Line 146:
Line 147:
Line 148:
Line 149:
Line 150: string result = "";
Line 151: string status = "";
Line 152:
Line 153: try
Line 154: {
Line 155: using (WebClient client = new WebClient())
Line 156: {
Line 157: ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
Line 158: ServicePointManager.ServerCertificateValidationCallback += new System.Net.Security.RemoteCertificateValidationCallback((s, ce, ch, ssl) => true);
Line 159: byte[] response = client.UploadValues(enquireUrl, new NameValueCollection());
Line 160:
Line 161: result = System.Text.Encoding.UTF8.GetString(response);
Line 162: var query = HttpUtility.ParseQueryString(result);
Line 163: ilist = new clsPaymentStatusInfo();
Line 164: ilist.BankRefNo = Convert.ToString(query.Get("ezpaytranid"));
Line 165: ilist.PaidAmount = Convert.ToString(query.Get("amount"));
Line 166: ilist.PaidOn = Convert.ToString(query.Get("trandate"));
Line 167: ilist.PaymentMode = Convert.ToString(query.Get("PaymentMode"));
Line 168: ilist.TransRefNo = Convert.ToString(query.Get("pgreferenceno"));
Line 169: String Remarks = Convert.ToString(query.Get("status"));
Line 170: if (Remarks.Trim() == "RIP")
Line 171: {
Line 172: status = "000";
Line 173: }
Line 174: else if (Remarks.Trim() == "SIP")
Line 175: {
Line 176: status = "000";
Line 177: }
Line 178: else if (Remarks.Trim() == "Success")
Line 179: {
Line 180: status = "000";
Line 181: }
Line 182: else if (Remarks.Trim() == "Challan Generated")
Line 183: {
Line 184: status = "101";
Line 185: }
Line 186: else if (Remarks.Trim() == "Transaction Initiated")
Line 187: {
Line 188: status = "101";
Line 189: }
Line 190: else if (Remarks.Trim() == "Cheque/DD In Clearance")
Line 191: {
Line 192: status = "101";
Line 193: }
Line 194: else if (Remarks.Trim() == "Cheque/DD Returned")
Line 195: {
Line 196: status = "101";
Line 197: }
Line 198: else if (Remarks.Trim() == "FAILED")
Line 199: {
Line 200: status = "111";
Line 201: }
Line 202: else if (Remarks.Trim() == "TIMEOUT")
Line 203: {
Line 204: status = "111";
Line 205: }
Line 206: else if(Remarks.Trim()=="Expired")
Line 207: {
Line 208: status = "111";
Line 209: }
Line 210:
Line 211: ilist.Remarks = Remarks;
Line 212: ilist.StatusCode =status;
Line 213: llist.Add(ilist);
Line 214: }
Line 215: }
Line 216: catch (Exception ex)
Line 217: {
Line 218:
Line 219: }
Line 220: finally
Line 221: {
Line 222: strRequestData = "";
Line 223: enquireUrl = "";
Line 224: result = "";
Line 225: }
Line 226: return llist;
Line 227: }
Line 228:
Line 229: //Added Code Arabinda Tripathy-15-09-22
Line 230: public clsPaymentStatusInfo getSinglePaymentStatusInfoICICI(string referenceno)
Line 231: {
Line 232: clsPaymentStatusInfo clsPaymentStatusInfomodel = new clsPaymentStatusInfo();
Line 233:
Line 234:
Line 235: string strRequestData = string.Empty;
Line 236: string enquireUrl = string.Empty;
Line 237: string ezpaytranid = string.Empty;
Line 238: string amount = string.Empty;
Line 239: string paymentmode = string.Empty;
Line 240: string trandate = string.Empty;
Line 241: string merchantid = string.Empty;
Line 242: string pgreferenceno = referenceno;
Line 243: string SrtServer = System.Configuration.ConfigurationManager.AppSettings["Server"];
Line 244: if (string.Equals(SrtServer, "prod", StringComparison.OrdinalIgnoreCase)) //By running by production server
Line 245: {
Line 246: merchantid = "245996";
Line 247: strRequestData = string.Format("ezpaytranid={0}&amount={1}&paymentmode={2}&merchantid={3}&trandate={4}&pgreferenceno={5}", ezpaytranid, amount, paymentmode, merchantid, trandate, pgreferenceno);
Line 248: enquireUrl = "https://eazypay.icicibank.com/EazyPGVerify?" + strRequestData;
Line 249: }
Line 250: else
Line 251: {
Line 252: merchantid = "120283";
Line 253: strRequestData = string.Format("ezpaytranid={0}&amount={1}&paymentmode={2}&merchantid={3}&trandate={4}&pgreferenceno={5}", ezpaytranid, amount, paymentmode, merchantid, trandate, pgreferenceno);
Line 254: enquireUrl = "https://eazypayuat.icicibank.com/EazyPGVerify?" + strRequestData; // By running UAT server
Line 255: }
Line 256:
Line 257: string result = "";
Line 258: string status = "";
Line 259:
Line 260: try
Line 261: {
Line 262: using (WebClient client = new WebClient())
Line 263: {
Line 264: ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
Line 265: ServicePointManager.ServerCertificateValidationCallback += new System.Net.Security.RemoteCertificateValidationCallback((s, ce, ch, ssl) => true);
Line 266: byte[] response = client.UploadValues(enquireUrl, new NameValueCollection());
Line 267:
Line 268: result = System.Text.Encoding.UTF8.GetString(response);
Line 269: var query = HttpUtility.ParseQueryString(result);
Line 270: clsPaymentStatusInfomodel = new clsPaymentStatusInfo();
Line 271: clsPaymentStatusInfomodel.BankRefNo = Convert.ToString(query.Get("ezpaytranid"));
Line 272: clsPaymentStatusInfomodel.PaidAmount = Convert.ToString(query.Get("amount"));
Line 273: clsPaymentStatusInfomodel.PaidOn = Convert.ToString(query.Get("trandate"));
Line 274: clsPaymentStatusInfomodel.PaymentMode = Convert.ToString(query.Get("PaymentMode"));
Line 275: clsPaymentStatusInfomodel.TransRefNo = Convert.ToString(query.Get("pgreferenceno"));
Line 276: String Remarks = Convert.ToString(query.Get("status"));
Line 277: if (Remarks.Trim() == "RIP")
Line 278: {
Line 279: status = "000";
Line 280: }
Line 281: else if (Remarks.Trim() == "SIP")
Line 282: {
Line 283: status = "000";
Line 284: }
Line 285: else if (Remarks.Trim() == "Success")
Line 286: {
Line 287: status = "000";
Line 288: }
Line 289: else if (Remarks.Trim() == "Challan Generated")
Line 290: {
Line 291: status = "101";
Line 292: }
Line 293: else if (Remarks.Trim() == "Transaction Initiated")
Line 294: {
Line 295: status = "101";
Line 296: }
Line 297: else if (Remarks.Trim() == "Cheque/DD In Clearance")
Line 298: {
Line 299: status = "101";
Line 300: }
Line 301: else if (Remarks.Trim() == "Cheque/DD Returned")
Line 302: {
Line 303: status = "101";
Line 304: }
Line 305: else if (Remarks.Trim() == "FAILED")
Line 306: {
Line 307: status = "111";
Line 308: }
Line 309: else if (Remarks.Trim() == "TIMEOUT")
Line 310: {
Line 311: status = "111";
Line 312: }
Line 313: else if (Remarks.Trim() == "Expired")
Line 314: {
Line 315: status = "111";
Line 316: }
Line 317:
Line 318: clsPaymentStatusInfomodel.Remarks = Remarks;
Line 319: clsPaymentStatusInfomodel.StatusCode = status;
Line 320:
Line 321: }
Line 322: }
Line 323: catch (Exception ex)
Line 324: {
Line 325:
Line 326: }
Line 327: finally
Line 328: {
Line 329: strRequestData = "";
Line 330: enquireUrl = "";
Line 331: result = "";
Line 332: }
Line 333: return clsPaymentStatusInfomodel;
Line 334: }
Line 335: }
Line 336: }
|