Beispiel #1
0
 public IActionResult CaptureAadharPay(AEPSInput input)
 {
     try
     {
         var           sessionUtility = new SessionUtility();
         var           pidData        = new PidData();
         XmlSerializer serializer     = new XmlSerializer(typeof(PidData));
         using (TextReader reader = new StringReader(input.PidData))
         {
             pidData = (PidData)serializer.Deserialize(reader);
         }
         var captureReq = new IciciCaptureInternalResponse
         {
             ci          = pidData.Skey.Ci,
             dc          = pidData.DeviceInfo.Dc,
             dpID        = pidData.DeviceInfo.DpId,
             errCode     = pidData.Resp.ErrCode,
             errInfo     = pidData.Resp.ErrInfo,
             fCount      = pidData.Resp.FCount,
             fType       = pidData.Resp.FType,
             hmac        = pidData.Hmac,
             iCount      = "0",
             iType       = "0",
             mc          = pidData.DeviceInfo.Mc,
             mi          = pidData.DeviceInfo.Mi,
             nmPoints    = pidData.Resp.NmPoints,
             pCount      = "0",
             Piddata     = pidData.Data.Text,
             PidDatatype = pidData.Data.Type,
             pType       = "0",
             qScore      = pidData.Resp.QScore,
             rdsID       = pidData.DeviceInfo.RdsId,
             rdsVer      = pidData.DeviceInfo.RdsVer,
             sessionKey  = pidData.Skey.Text,
         };
         var allReqInput = new DetailsAepReq
         {
             accessModeType        = "",
             adhaarNumber          = input.AadharNumber,
             agentId               = Convert.ToString(sessionUtility.GetStringSession("AEPSAgentID")),
             customerId            = sessionUtility.GetLoginSession().customerId,
             customerNumber        = input.CustomerNumber,
             deviceSerialNumber    = pidData.DeviceInfo.Mi,
             deviceTransactionId   = "",
             iciciAepsCaptureRes   = captureReq,
             indicatorforUID       = 0,
             ipAddress             = "176.9.24.146",
             latitude              = "26.125321647834",
             longitude             = "78.09278884562441",
             merchantTransactionId = GetOrderID(),
             nbin              = input.BankName,
             paymentType       = "B",
             requestRemarks    = "Aadhar Pay",
             serviceChannelId  = 2,
             transactionAmount = Convert.ToInt32(input.Amount),
             transactionType   = "MS",
             virtualId         = string.Empty
         };
         string errorMessage = string.Empty;
         var    response     = new CallService().PostResponse <AEPSResponse>("puticiciAepsMiniStatement", allReqInput, ref errorMessage);
         if (string.IsNullOrEmpty(errorMessage))
         {
             var response1 = new resAEPSTransaction();
             response1.AadhaarNumber       = input.AadharNumber;
             response1.Amount              = Convert.ToDecimal(input.Amount);
             response1.ClientTransactionId = allReqInput.merchantTransactionId;
             response1.AEPSModeType        = "Aadhar Pay";
             response1.MobileNumber        = input.CustomerNumber;
             return(PartialView("AckView", response1));
         }
         else
         {
             var response1 = new resAEPSTransaction();
             response1.AadhaarNumber       = input.AadharNumber;
             response1.Amount              = Convert.ToDecimal(input.Amount);
             response1.ClientTransactionId = allReqInput.merchantTransactionId;
             response1.AEPSModeType        = "Mini Statement Web";
             response1.MobileNumber        = input.CustomerNumber;
             return(PartialView("AckView", response1));
         }
     }
     catch (Exception)
     {
     }
     return(PartialView("AckView"));
 }
Beispiel #2
0
 public IActionResult CaptureBalanceEnquiry(AEPSInput input)
 {
     try
     {
         input.AadharNumber = input.AadharNumber.Replace("-", "").ToString();
         var           sessionUtility = new SessionUtility();
         var           pidData        = new PidData();
         XmlSerializer serializer     = new XmlSerializer(typeof(PidData));
         using (TextReader reader = new StringReader(input.PidData))
         {
             pidData = (PidData)serializer.Deserialize(reader);
         }
         if (pidData.Resp.ErrCode != "0")
         {
             return(Json(new { success = false, errorMessage = pidData.Resp.ErrInfo }));
         }
         var captureReq = new IciciCaptureInternalResponse {
             ci          = pidData.Skey.Ci,
             dc          = pidData.DeviceInfo.Dc,
             dpID        = pidData.DeviceInfo.DpId,
             errCode     = pidData.Resp.ErrCode,
             errInfo     = pidData.Resp.ErrInfo,
             fCount      = pidData.Resp.FCount,
             fType       = pidData.Resp.FType,
             hmac        = pidData.Hmac,
             iCount      = "0",
             iType       = "0",
             mc          = pidData.DeviceInfo.Mc,
             mi          = pidData.DeviceInfo.Mi,
             nmPoints    = pidData.Resp.NmPoints,
             pCount      = "0",
             Piddata     = pidData.Data.Text,
             PidDatatype = pidData.Data.Type,
             pType       = "0",
             qScore      = pidData.Resp.QScore,
             rdsID       = pidData.DeviceInfo.RdsId,
             rdsVer      = pidData.DeviceInfo.RdsVer,
             sessionKey  = pidData.Skey.Text,
         };
         var allReqInput = new DetailsAepReq {
             accessModeType        = "",
             adhaarNumber          = input.AadharNumber,
             agentId               = Convert.ToString(sessionUtility.GetStringSession("AEPSAgentID")),
             customerId            = sessionUtility.GetLoginSession().customerId,
             customerNumber        = input.CustomerNumber,
             deviceSerialNumber    = pidData.DeviceInfo.Mi,
             deviceTransactionId   = "",
             iciciAepsCaptureRes   = captureReq,
             indicatorforUID       = 0,
             ipAddress             = "176.9.24.146",
             latitude              = "26.125321647834",
             longitude             = "78.09278884562441",
             merchantTransactionId = GetOrderID(),
             nbin              = input.BankName,
             paymentType       = "B",
             requestRemarks    = "Balance Enquiry Web",
             serviceChannelId  = 2,
             transactionAmount = 0,
             transactionType   = "BE",
             virtualId         = string.Empty
         };
         var    sting        = JsonConvert.SerializeObject(allReqInput);
         string errorMessage = string.Empty;
         var    response     = new CallService().PostResponse <AEPSResponse>("puticiciAepsBalanceEnq", allReqInput, ref errorMessage);
         if (string.IsNullOrEmpty(errorMessage))
         {
             var response1 = new resAEPSTransaction();
             response1.AadhaarNumber        = "XXXXXXXXX" + input.AadharNumber.Substring(input.AadharNumber.ToString().Length - 4, 4);;
             response1.Amount               = Convert.ToDecimal(input.Amount);
             response1.ClientTransactionId  = allReqInput.merchantTransactionId;
             response1.TransactionReference = response.data.fpTransactionId;
             response1.AEPSModeType         = "Balance Enquiry";
             response1.MobileNumber         = input.CustomerNumber;
             response1.BalanceAmount        = Convert.ToDecimal(response.data.balanceAmount);
             response1.Status               = 1;
             response1.BankReferenceNumber  = input.BankName;
             response1.BankResponseMessage  = response.data.transactionStatus;
             response1.ResponseMessage      = "Successfully retrived";
             return(PartialView("AckView", response1));
         }
         else
         {
             var response1 = new resAEPSTransaction();
             response1.AadhaarNumber       = input.AadharNumber;
             response1.Amount              = Convert.ToDecimal(input.Amount);
             response1.ClientTransactionId = allReqInput.merchantTransactionId;
             response1.AEPSModeType        = "Balance Enquiry";
             response1.MobileNumber        = input.CustomerNumber;
             response1.BalanceAmount       = 0;
             response1.Status              = 0;
             response1.ResponseMessage     = errorMessage;
             return(PartialView("AckView", response1));
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message);
     }
     return(PartialView("AckView"));
 }