Example #1
0
        public IHttpActionResult walletpay(dynamic data)
        {
            string           serialized_data = JsonConvert.SerializeObject(data);
            MakePaymentModel rootobj         = JsonConvert.DeserializeObject <MakePaymentModel>(serialized_data);

            Decryptdatamodel decryptModel = new Decryptdatamodel();

            decryptModel.encryprtext = rootobj.encryptedData;
            decryptModel.key         = "3fee5395f01bee349feed65629bd442a";
            decryptModel.Ivval       = rootobj.iv;


            string mappath   = HttpContext.Current.Server.MapPath("MakePayment");
            Task   WriteTask = Task.Factory.StartNew(() => new Logdatafile().Write_ReportLog_Exception(mappath, JsonConvert.SerializeObject(rootobj)));

            string       result = EncryptDecryptAlgoritham.DecryptStringAES(decryptModel.encryprtext, decryptModel.key, decryptModel.Ivval);
            paymentModel obj    = JsonConvert.DeserializeObject <paymentModel>(result);

            if (rootobj.type == "TA")
            {
                return(Ok(_Hel.TAWalletMakePayment(obj, rootobj.otp)));
            }
            else if (rootobj.type == "WONE")
            {
                return(Ok(_Hel.walletOnemakePayment(obj)));
            }
            else
            {
                return(Ok("WONE"));
            }
        }
Example #2
0
        public IHttpActionResult OrderDetails(dynamic data)
        {
            dynamic objdata = new ExpandoObject();

            try
            {
                //    byte[] dataArray = Convert.FromBase64String(data);
                //    string decodedString = Encoding.UTF8.GetString(dataArray);
                string           serialized_data = JsonConvert.SerializeObject(data);
                MakePaymentModel rootobj         = JsonConvert.DeserializeObject <MakePaymentModel>(serialized_data);

                //     encryptedData = encryptedData.Replace(' ', '+');
                Decryptdatamodel decryptModel = new Decryptdatamodel();
                decryptModel.encryprtext = rootobj.encryptedData;
                decryptModel.key         = "3fee5395f01bee349feed65629bd442a";
                decryptModel.Ivval       = rootobj.iv;

                string mappath   = HttpContext.Current.Server.MapPath("OrderDetails");
                Task   WriteTask = Task.Factory.StartNew(() => new Logdatafile().Write_ReportLog_Exception(mappath, JsonConvert.SerializeObject(decryptModel)));

                string       result = EncryptDecryptAlgoritham.DecryptStringAES(decryptModel.encryprtext, decryptModel.key, decryptModel.Ivval);
                paymentModel obj    = JsonConvert.DeserializeObject <paymentModel>(result);

                return(Ok(_Hel.OrderDetails(obj)));
            }
            catch (Exception ex)
            {
                objdata.status = 500;
                objdata.result = ex.Message.ToString();
            }
            return(Ok(objdata));
        }
Example #3
0
        public string TAWalletPaymentGateWay(paymentModel obj, string otp)
        {
            //Int32 unixTimestamp = (Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
            //obj.orderId = unixTimestamp.ToString();
            //System.DateTime.Now.ToString()

            string xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
                         "<Request type=\"DifMerchantPayments\" Terminal_Number=\"65\" Terminal_Name=\"TA\">" +
                         "<Machine_Id>" + HttpUtility.HtmlEncode(obj.ipAddress) + "</Machine_Id>" +
                         "<Mobile_num>" + HttpUtility.HtmlEncode(obj.mobileNumber) + "</Mobile_num>" +
                         "<Order_Id>" + HttpUtility.HtmlEncode(obj.orderId) + "</Order_Id>" +
                         "<Date>" + HttpUtility.HtmlEncode(DateTime.Now.ToString()) + "</Date>" +
                         "<Amount>" + HttpUtility.HtmlEncode(obj.totalAmount) + "</Amount>" +
                         "<MerchantCode>" + HttpUtility.HtmlEncode(obj.merchantId) + "</MerchantCode> " +
                         "<Narration>" + HttpUtility.HtmlEncode(obj.Description) + "</Narration>" +
                         "<BarcodeID></BarcodeID > " +
                         "<QRCodeID></QRCodeID > " +
                         "<OTP>" + HttpUtility.HtmlEncode(otp) + "</OTP > " +
                         "<AgencyCode>900020</AgencyCode> " +
                         "<Centre_Id>" + HttpUtility.HtmlEncode(obj.gswsCode) + "</Centre_Id>" +
                         "</Request>";

            DataTable dt = gswsPaymentRequestProc(obj, "3", otp);

            if (dt != null && dt.Rows.Count > 0)
            {
                string url = "https://staging.transactionanalysts.com:444/TAAPI/process.aspx";
                try
                {
                    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
                    ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(delegate { return(true); });
                    HttpWebRequest req          = (HttpWebRequest)WebRequest.Create(url);
                    string         encxmldata   = EncrptXML(xml);
                    byte[]         requestBytes = System.Text.Encoding.UTF8.GetBytes((encxmldata)); //HttpUtility.UrlEncode(xml_data)
                    req.Method        = "POST";
                    req.Timeout       = 300000;
                    req.ContentType   = "text/xml";
                    req.ContentLength = requestBytes.Length;
                    Stream requestStream = req.GetRequestStream();
                    requestStream.Write(requestBytes, 0, requestBytes.Length);
                    requestStream.Close();
                    HttpWebResponse res      = (HttpWebResponse)req.GetResponse();
                    string          Charset  = res.CharacterSet;
                    Encoding        encoding = Encoding.GetEncoding(Charset);
                    StreamReader    sr       = new StreamReader(res.GetResponseStream(), encoding);
                    //  StreamReader sr = new StreamReader(res.GetResponseStream(), System.Text.Encoding.Default);

                    return(sr.ReadToEnd());
                }
                catch (Exception error)
                {
                    return(error.Message.ToString());
                }
            }
            string mappath   = HttpContext.Current.Server.MapPath("gswsPaymentRequestProc.");
            Task   WriteTask = Task.Factory.StartNew(() => new Logdatafile().Write_ReportLog_Exception(mappath, JsonConvert.SerializeObject(obj)));

            return("");
        }
Example #4
0
        public dynamic TAWalletMakePayment(paymentModel obj, string otp)
        {
            dynamic objdata = new ExpandoObject();

            try
            {
                string response = TAWalletPaymentGateWay(obj, otp);
                taWalletPaymentResponse responseObj = JsonConvert.DeserializeObject <taWalletPaymentResponse>(response);

                gswsPaymentResponseModel resObj = new gswsPaymentResponseModel();

                resObj.balance       = responseObj.Balance;
                resObj.merchant_name = responseObj.Merchant_Name;
                resObj.message       = responseObj.Message;
                resObj.orderId       = responseObj.OrderID;
                resObj.responseCode  = responseObj.Response_Code;
                resObj.status        = "";
                resObj.txnRefNo      = responseObj.Trxn_Ref_No;
                resObj.type          = "1";
                resObj.uniqueTxnId   = obj.UniqueTxnId;

                //DataTable resDt = gswsPaymentResponseProc(resObj);
                //string mappath = HttpContext.Current.Server.MapPath("gswsPaymentResponseProc");
                //Task WriteTask = Task.Factory.StartNew(() => new Logdatafile().Write_ReportLog_Exception(mappath, JsonConvert.SerializeObject(resObj)));



                if (responseObj.Response_Code.Length == 4)
                {
                    objdata.status      = 200;
                    objdata.result      = "Payment Successful";
                    objdata.callbackUrl = obj.callbackUrl;
                    objdata.reason      = responseObj.Message;
                    objdata.deptOrderId = obj.deptRecieptCode;
                    objdata.txnId       = obj.UniqueTxnId;
                    objdata.merchantId  = obj.merchantId;
                }
                else
                {
                    objdata.status      = 400;
                    objdata.result      = "Payment Failed Please Try Again";
                    objdata.callbackUrl = obj.callbackUrl;
                    objdata.reason      = responseObj.Message;
                    objdata.deptOrderId = obj.deptRecieptCode;
                    objdata.txnId       = obj.UniqueTxnId;
                    objdata.merchantId  = obj.merchantId;
                }
            }
            catch (Exception ex)
            {
                objdata.status = 500;
                objdata.result = ex.Message.ToString();
            }
            return(objdata);
        }
Example #5
0
 public DataTable gswsPaymentRequestProc(paymentModel obj, string type, string otp)
 {
     try
     {
         OracleCommand cmd = new OracleCommand();
         cmd.InitialLONGFetchSize = 1000;
         cmd.CommandType          = CommandType.StoredProcedure;
         cmd.CommandText          = "GSWS_PAYMENT_INSERT_PROC";
         cmd.Parameters.Add("ptype", OracleDbType.Varchar2).Value                         = type;
         cmd.Parameters.Add("pAMOUNT", OracleDbType.Varchar2).Value                       = obj.Amount;
         cmd.Parameters.Add("pAPPLICANTNAME", OracleDbType.Varchar2).Value                = obj.applicantName;
         cmd.Parameters.Add("pDEPTCODE", OracleDbType.Varchar2).Value                     = obj.deptCode;
         cmd.Parameters.Add("pDEPTRECIEPTCODE", OracleDbType.Varchar2).Value              = obj.deptRecieptCode;
         cmd.Parameters.Add("pDESCRIPTION", OracleDbType.Varchar2).Value                  = obj.Description;
         cmd.Parameters.Add("pDISTRICTCODE", OracleDbType.Varchar2).Value                 = obj.districtCode;
         cmd.Parameters.Add("pINSERTED_ON", OracleDbType.TimeStamp).Value                 = DateTime.Now;
         cmd.Parameters.Add("pIPADDRESS", OracleDbType.Varchar2).Value                    = obj.ipAddress;
         cmd.Parameters.Add("pMOBILENUMBER", OracleDbType.Varchar2).Value                 = obj.mobileNumber;
         cmd.Parameters.Add("pORDERID", OracleDbType.Varchar2).Value                      = obj.orderId;
         cmd.Parameters.Add("pSERVICECODE", OracleDbType.Varchar2).Value                  = obj.serviceCode;
         cmd.Parameters.Add("pSTAFFCODE", OracleDbType.Varchar2).Value                    = obj.staffCode;
         cmd.Parameters.Add("pTOTALAMOUNT", OracleDbType.Varchar2).Value                  = obj.totalAmount;
         cmd.Parameters.Add("pTXNDATE", OracleDbType.Varchar2).Value                      = obj.TxnDate;
         cmd.Parameters.Add("pUSERCHARGES", OracleDbType.Varchar2).Value                  = obj.userCharges;
         cmd.Parameters.Add("pAPPLICATION_DATE", OracleDbType.TimeStamp).Value            = DateTime.Now;
         cmd.Parameters.Add("pDEPARTMENT_APPLICATION_DATE", OracleDbType.TimeStamp).Value = DateTime.Now;
         cmd.Parameters.Add("pMERCHANTCODE", OracleDbType.Varchar2).Value                 = obj.merchantId;
         cmd.Parameters.Add("pOTP", OracleDbType.Varchar2).Value           = otp;
         cmd.Parameters.Add("pUNIQUE_TXN_ID", OracleDbType.Varchar2).Value = "TXN" + obj.UniqueTxnId;
         cmd.Parameters.Add("pcur", OracleDbType.RefCursor).Direction      = ParameterDirection.Output;
         DataTable dtTrans = _LoginHel.GetgswsDataAdapter(cmd);
         if (dtTrans != null)
         {
             return(dtTrans);
         }
         else
         {
             return(null);
         }
     }
     catch (Exception ex)
     {
         string mappath   = HttpContext.Current.Server.MapPath("WalletRequestException");
         Task   WriteTask = Task.Factory.StartNew(() => new Logdatafile().Write_ReportLog_Exception(mappath, "Error From GetRegReceivedDashboardCount:" + ex.Message.ToString()));
         throw ex;
     }
 }
Example #6
0
        public dynamic OrderDetails(paymentModel obj)
        {
            dynamic objdata = new ExpandoObject();

            try
            {
                obj.orderId = "80120201019362644";

                orderDetailsModel rootobj = new orderDetailsModel();
                rootobj.Amount       = obj.Amount;
                rootobj.Description  = obj.Description;
                rootobj.mobileNumber = obj.mobileNumber;
                rootobj.orderId      = obj.orderId;
                rootobj.totalAmount  = obj.totalAmount;
                rootobj.TxnDate      = obj.TxnDate;
                rootobj.userCharges  = obj.userCharges;
                rootobj.userName     = obj.userName;
                rootobj.walletType   = "";


                DataTable dt1 = gswsPaymentRequestProc(obj, "4", "");
                obj.gswsCode    = dt1.Rows[0][0].ToString();
                obj.UniqueTxnId = obj.merchantId + obj.mobileNumber + DateTime.Now.ToString("yyyyMMddhhmmssmm");

                string json = JsonConvert.SerializeObject(obj);

                string iv  = CryptLib.GenerateRandomIV(16);
                string key = CryptLib.getHashSha256("GSWS TEST", 32);

                string encrypttext = EncryptDecryptAlgoritham.EncryptStringAES(json, key, iv);

                obj.encrypttext = encrypttext;
                obj.iv          = iv;

                rootobj.encrypttext = obj.encrypttext;
                rootobj.iv          = obj.iv;


                if (obj.gswsCode == "10690589" || obj.gswsCode == "10690588" || obj.gswsCode == "10690590" || obj.gswsCode == "21073101")
                {
                    rootobj.walletType = "TA";
                }
                else if (obj.gswsCode == "10690567" || obj.gswsCode == "10690568" || obj.gswsCode == "21073097" || obj.gswsCode == "21073098" || obj.gswsCode == "21073099")
                {
                    rootobj.walletType = "WONE";
                }

                else if (obj.gswsCode == "10690581" || obj.gswsCode == "10690561" || obj.gswsCode == "10690574" || obj.gswsCode == "10690572" || obj.gswsCode == "10690573" || obj.gswsCode == "10690582" || obj.gswsCode == "21073095" || obj.gswsCode == "21073096" || obj.gswsCode == "21073082" || obj.gswsCode == "21073083" || obj.gswsCode == "21073085" || obj.gswsCode == "21073088")
                {
                    rootobj.walletType = "APW";
                }


                DataTable dt = gswsPaymentRequestProc(obj, "1", "");
                if (dt != null && dt.Rows.Count > 0)
                {
                    token_gen.initialize();
                    token_gen.expiry_minutes = 60;
                    token_gen.addClaim("admin");
                    token_gen.PRIMARY_MACHINE_KEY   = "10101010101010101010101010101010";
                    token_gen.SECONDARY_MACHINE_KEY = "1010101010101010";
                    token_gen.addResponse("status", "200");
                    token_gen.addResponse("result", JsonConvert.SerializeObject(rootobj));
                    return(token_gen.generate_token());
                }
                else
                {
                    objdata.status = 400;
                    objdata.result = "Invalid Input";
                    string mappath   = HttpContext.Current.Server.MapPath("gswsPaymentRequestProc.");
                    Task   WriteTask = Task.Factory.StartNew(() => new Logdatafile().Write_ReportLog_Exception(mappath, JsonConvert.SerializeObject(obj)));
                }
            }
            catch (Exception ex)
            {
                objdata.status = 500;
                objdata.result = ex.Message.ToString();
            }
            return(objdata);
        }
Example #7
0
        public dynamic walletOnemakePayment(paymentModel obj)
        {
            dynamic objdata = new ExpandoObject();

            try
            {
                TransReqBean transReqBean = new TransReqBean();

                transReqBean.strPassWord   = "******";
                transReqBean.strUserId     = "GWSRWO";
                transReqBean.strFStatus    = "N";
                transReqBean.strPayMode    = "C";
                transReqBean.strTransSt    = "N";
                transReqBean.strAgType     = "F";
                transReqBean.strConsName   = obj.applicantName;
                transReqBean.strConsNo     = obj.orderId;
                transReqBean.strDateTime   = DateTime.Now.Date.ToString("dd-MM-yyyy"); // obj.application_date;
                transReqBean.strDeptCode   = obj.deptCode;
                transReqBean.strDeptRcptDt = DateTime.Now.Date.ToString("dd-MM-yyyy"); // obj.department_application_date;
                transReqBean.strDeptRcptNo = obj.deptRecieptCode;
                transReqBean.strDistCode   = obj.districtCode;
                transReqBean.strGWSCode    = obj.gswsCode;
                transReqBean.strServCode   = obj.serviceCode;
                transReqBean.strStaffCode  = obj.staffCode;
                transReqBean.strTotAmt     = obj.Amount;
                transReqBean.strTranDate   = DateTime.Now.Date.ToString("dd-MM-yyyy"); // obj.transaction_date;
                transReqBean.strUserChrgs  = obj.userCharges;

                DataTable dt = gswsPaymentRequestProc(obj, "2", "");
                if (dt != null && dt.Rows.Count > 0)
                {
                    TransResBean transResBean = servicesRWMS.RWMSConfirmPayment(transReqBean);

                    gswsPaymentResponseModel resObj = new gswsPaymentResponseModel();

                    resObj.balance       = "";
                    resObj.merchant_name = obj.merchantId;
                    resObj.message       = transResBean.msg;
                    resObj.orderId       = "";
                    resObj.responseCode  = transResBean.errorCode;
                    resObj.status        = transResBean.status;
                    resObj.txnRefNo      = transResBean.strTransNo;
                    resObj.type          = "2";
                    resObj.uniqueTxnId   = obj.UniqueTxnId;

                    //DataTable resDt = gswsPaymentResponseProc(resObj);
                    //string mappath = HttpContext.Current.Server.MapPath("gswsPaymentResponseProc");
                    //Task WriteTask = Task.Factory.StartNew(() => new Logdatafile().Write_ReportLog_Exception(mappath, JsonConvert.SerializeObject(resObj)));

                    if (transResBean.errorCode == "0")
                    {
                        objdata.status         = 200;
                        objdata.message        = transResBean.msg;
                        objdata.transaction_no = transResBean.strTransNo;
                        objdata.callbackUrl    = obj.callbackUrl;
                        objdata.deptOrderId    = obj.deptRecieptCode;
                        objdata.txnId          = obj.UniqueTxnId;
                        objdata.merchantId     = obj.merchantId;
                    }

                    else
                    {
                        if (transResBean.errorCode == "1")
                        {
                            objdata.message = "invalid username or password";
                        }
                        else if (transResBean.errorCode == "2")
                        {
                            objdata.message = "user wallet not available";
                        }
                        else if (transResBean.errorCode == "3")
                        {
                            objdata.message = "duplicate application number";
                        }
                        else if (transResBean.errorCode == "4")
                        {
                            objdata.message = "required parameters are missing";
                        }
                        else if (transResBean.errorCode == "5")
                        {
                            objdata.message = transResBean.msg;
                        }
                        else if (transResBean.errorCode == "6")
                        {
                            objdata.message = "insufficient balance in account";
                        }
                        else
                        {
                            objdata.message = transResBean.msg;
                        }
                        objdata.status         = transResBean.status;
                        objdata.transaction_no = transResBean.strTransNo;
                        objdata.callbackUrl    = obj.callbackUrl;
                        objdata.deptOrderId    = obj.deptRecieptCode;
                        objdata.txnId          = obj.UniqueTxnId;
                        objdata.merchantId     = obj.merchantId;
                    }
                }
                else
                {
                    objdata.status = 400;
                    objdata.result = "Invalid Input";
                    string mappath   = HttpContext.Current.Server.MapPath("gswsPaymentRequestProc");
                    Task   WriteTask = Task.Factory.StartNew(() => new Logdatafile().Write_ReportLog_Exception(mappath, JsonConvert.SerializeObject(obj)));
                }
            }
            catch (Exception ex)
            {
                objdata.status  = 500;
                objdata.message = ex.Message.ToString();
            }

            return(objdata);
        }