public ActionResult Response(PaytmResponse data) { System.Diagnostics.Debug.WriteLine(Session["pid"]); if (data.STATUS == "TXN_SUCCESS") { int status = 11; PaymentDetail paymentDetail = db.PaymentDetails.FirstOrDefault(p => p.Id == payment_id); paymentDetail.TransactionId = data.TXNID; paymentDetail.StatusId = status; paymentDetail.PaymentDate = DateTime.Now.ToLocalTime(); paymentDetail.PaymentMode = data.PAYMENTMODE;; //for updating status in QuoteTable if payment is done // so now status is vehicle deliverd Quote quoteDetail = db.Quotes.FirstOrDefault(q => q.QuoteId == Quote_id); quoteDetail.StatusId = 12; var plist = db.PaymentDetails.Where(a => a.QuoteId == Quote_id).ToList(); plist.Reverse(); var d = plist.ElementAt(0); if (d.StatusId == 11) { quoteDetail.StatusId = 13; } db.Entry(quoteDetail).State = EntityState.Modified; db.Entry(paymentDetail).State = EntityState.Modified; db.SaveChanges(); System.Diagnostics.Debug.WriteLine("Success"); ViewBag.success = "Payment Done Succesfully "; //return View(); return(RedirectToAction("/QuoteList/" + Quote_id)); } else if (data.STATUS == "TXN_FAILURE") { var r = data.RESPMSG; ViewBag.fail = "Transaction Fail : " + r; System.Diagnostics.Debug.WriteLine("Failure"); } else { System.Diagnostics.Debug.WriteLine("Pending"); } return(View()); }
private HttpResponseMessage PerformPostPaymentJobs(PaytmResponse response) { HttpClient httpClient = new HttpClient(); string baseUrl = ConfigurationManager.AppSettings["PaymentResponseJobsUrl"];// "http://localhost:1873/api/AfterPaymentJobs/ProcessOrderAfterPayment"; var content = new StringContent(new JavaScriptSerializer().Serialize(response), Encoding.UTF8, "application/json"); var result = httpClient.PostAsync(baseUrl, content).Result; //result.Content. // paytmResponse.RESPMSG = parameters["RESPMSG"]; //paytmResponse.STATUS = parameters["STATUS"]; //var data = new { PaytmStatus = response.STATUS, PaytmStatusMessage = response.RESPMSG }; //@Susant, Please check the result and perform the task accordingly. This books the appointment and returns the status as Success, Failure and Restricted. return(result); }
public ActionResult PaytmResponse(PaytmResponse data) { return(View("PaytmResponse", data)); }
public ActionResult PaymentResponse1() { PaytmResponse paytmResponse = new PaytmResponse(); String merchantKey = "z2jgxVaU1n8eGFn5";// "jBIWVeuQ0AKxUU%R"; Dictionary <string, string> parameters = new Dictionary <string, string>(); string paytmChecksum = ""; foreach (string key in Request.Form.Keys) { parameters.Add(key.Trim(), Request.Form[key].Trim()); } if (parameters.ContainsKey("CHECKSUMHASH")) { paytmChecksum = parameters["CHECKSUMHASH"]; parameters.Remove("CHECKSUMHASH"); } paytmResponse.BANKNAME = parameters["BANKNAME"]; paytmResponse.BANKTXNID = parameters["BANKTXNID"]; paytmResponse.CHECKSUMHASH = paytmChecksum; paytmResponse.CURRENCY = parameters["CURRENCY"]; paytmResponse.GATEWAYNAME = parameters["BANKNAME"]; paytmResponse.MID = parameters["MID"]; paytmResponse.ORDERID = parameters["ORDERID"]; paytmResponse.PAYMENTMODE = parameters["PAYMENTMODE"]; // PaytmResponse.PROMO_CAMP_ID = parameters["PROMO_CAMP_ID"]; //PaytmResponse.PROMO_RESPCODE = parameters["PROMO_RESPCODE"]; // PaytmResponse.PROMO_STATUS = parameters["PROMO_STATUS"]; paytmResponse.RESPCODE = parameters["RESPCODE"]; paytmResponse.RESPMSG = parameters["RESPMSG"]; paytmResponse.STATUS = parameters["STATUS"]; paytmResponse.TXNAMOUNT = parameters["TXNAMOUNT"]; paytmResponse.TXNDATE = parameters["TXNDATE"]; paytmResponse.TXNID = parameters["TXNID"]; // paytmResponse.UniqueReference = interimOrderDetail.UniqueReference; //String merchantKey = parameters["MerchantKey"]; if (CheckSum.verifyCheckSum(merchantKey, parameters, paytmChecksum)) { // string redirectAction = ""; if (paytmResponse.STATUS == "TXN_SUCCESS") { //Update the IntermediarOrderDetails payment status, response and other records. // interimOrderDetail.PaymentStatus = true; //interimOrderDetail.PaymentResponse = "Success"; // Response.Write("Checksum Matched"); //redirectAction = "PaymentSuccessResponse"; //return RedirectToAction("PaymentSuccessResponse", PaytmResponse); } else if (paytmResponse.STATUS == "TXN_FAILURE") { //Update the IntermediarOrderDetails payment status, response and other records. // interimOrderDetail.PaymentStatus = false; //interimOrderDetail.PaymentResponse = "Failure"; // redirectAction = "PaymentFailureResponse"; //return RedirectToAction("PaymentFailureResponse", PaytmResponse); } else { //Update the IntermediarOrderDetails payment status, response and other records. // interimOrderDetail.PaymentStatus = false; // //interimOrderDetail.PaymentResponse = "Pending"; // redirectAction = "PaymentPendingResponse"; //return RedirectToAction("PaymentPendingResponse", PaytmResponse); } //using (var db = new Care4UContext()) //{ // db.InterimOrderDeatils.Attach(interimOrderDetail); // db.Entry(interimOrderDetail).Property(p => p.PaymentStatus).IsModified = true; // db.SaveChanges(); //} if (paytmResponse.STATUS == "TXN_SUCCESS") { // return View("PaymentSuccessResponse"); return(RedirectToAction("PaymentSuccessResponse")); } else if (paytmResponse.STATUS == "TXN_FAILURE") { // return View("PaymentFailureResponse"); return(RedirectToAction("PaymentFailureResponse")); } else { //return View("PaymentPendingResponse"); return(RedirectToAction("PaymentPendingResponse")); } //if (res.Data) // return RedirectToAction(redirectAction, paytmResponse); //else // return RedirectToAction("PaymentFailureResponse", paytmResponse); } else { Response.Write("Checksum MisMatch"); } return(View()); }
public ActionResult AfterCheckResponse(PaytmResponse paytmResponse) { try { // Get the IntermediarOrderDetail with the id provided InterimOrderDeatils interimOrderDetail = _context.InterimOrderDeatils.FirstOrDefault(t => t.UniqueReference.ToLower() == paytmResponse.UniqueReference.ToLower()); if (interimOrderDetail == null) { throw new Exception("No record found."); } //Get the Care4uPgConfig with the groupEntityId available in the IntermediarOrderDetail fetched. // Get configuaration by ApplicationName,ModuleName,GroupEntityID,PaymentGateWay Care4UPgConfig pgConfig = _context.Care4uPgConfig.FirstOrDefault(t => t.Module.ToUpper().Equals(interimOrderDetail.PaymentForModule.ToUpper()) && t.PaymentGateWayType.ToUpper().Equals("PAYTM") && t.IsActive); if (pgConfig == null) { throw new Exception("Payment for this module has not been enabled."); } //PaytmResponse paytmResponse = new PaytmResponse(); String merchantKey = pgConfig.Paytm_MerchantKey;// "jBIWVeuQ0AKxUU%R"; Dictionary <string, string> parameters = new Dictionary <string, string>(); string paytmChecksum = ""; foreach (string key in Request.Form.Keys) { parameters.Add(key.Trim(), Request.Form[key].Trim()); } if (parameters.ContainsKey("CHECKSUMHASH")) { paytmChecksum = parameters["CHECKSUMHASH"]; parameters.Remove("CHECKSUMHASH"); } //paytmResponse.BANKNAME = parameters["BANKNAME"]; //paytmResponse.BANKTXNID = parameters["BANKTXNID"]; //paytmResponse.CHECKSUMHASH = paytmChecksum; //paytmResponse.CURRENCY = parameters["CURRENCY"]; //paytmResponse.GATEWAYNAME = parameters["BANKNAME"]; //paytmResponse.MID = parameters["MID"]; //paytmResponse.ORDERID = parameters["ORDERID"]; //paytmResponse.PAYMENTMODE = parameters["PAYMENTMODE"]; //// PaytmResponse.PROMO_CAMP_ID = parameters["PROMO_CAMP_ID"]; ////PaytmResponse.PROMO_RESPCODE = parameters["PROMO_RESPCODE"]; //// PaytmResponse.PROMO_STATUS = parameters["PROMO_STATUS"]; //paytmResponse.RESPCODE = parameters["RESPCODE"]; //paytmResponse.RESPMSG = parameters["RESPMSG"]; //paytmResponse.STATUS = parameters["STATUS"]; //paytmResponse.TXNAMOUNT = parameters["TXNAMOUNT"]; //paytmResponse.TXNDATE = parameters["TXNDATE"]; //paytmResponse.TXNID = parameters["TXNID"]; //paytmResponse.UniqueReference = interimOrderDetail.UniqueReference; //String merchantKey = parameters["MerchantKey"]; string redirectAction = ""; if (paytmResponse.STATUS == "TXN_SUCCESS") { //Update the IntermediarOrderDetails payment status, response and other records. interimOrderDetail.PaymentStatus = true; interimOrderDetail.PaymentResponse = "Success"; // Response.Write("Checksum Matched"); redirectAction = "PaymentSuccessResponse"; //return RedirectToAction("PaymentSuccessResponse", PaytmResponse); } else if (paytmResponse.STATUS == "TXN_FAILURE") { //Update the IntermediarOrderDetails payment status, response and other records. interimOrderDetail.PaymentStatus = false; interimOrderDetail.PaymentResponse = "Failure"; redirectAction = "PaymentFailureResponse"; //return RedirectToAction("PaymentFailureResponse", PaytmResponse); } else { //Update the IntermediarOrderDetails payment status, response and other records. interimOrderDetail.PaymentStatus = false; interimOrderDetail.PaymentResponse = "Pending"; redirectAction = "PaymentPendingResponse"; //return RedirectToAction("PaymentPendingResponse", PaytmResponse); } //using (var db = new Care4UContext()) //{ // db.InterimOrderDeatils.Attach(interimOrderDetail); // db.Entry(interimOrderDetail).Property(p => p.PaymentStatus).IsModified = true; // db.SaveChanges(); //} _context.InterimOrderDeatils.Attach(interimOrderDetail); _context.Entry(interimOrderDetail).Property(p => p.PaymentStatus).IsModified = true; //_context.Entry(interimOrderDetail).Property(p => p.PaymentResponse).IsModified = true; _context.SaveChanges(); var result = PerformPostPaymentJobs(paytmResponse); if (paytmResponse.STATUS == "TXN_SUCCESS") { if (agentType == "MobileApp") { return(RedirectToAction("PaymentSuccessResponse")); } else if (agentType == "WebSite") { return(View("../Payment/HealthProWebAfterPgResponse", interimOrderDetail)); } else { return(RedirectToAction("PaymentSuccessResponse")); } } else if (paytmResponse.STATUS == "TXN_FAILURE") { if (agentType == "MobileApp") { return(RedirectToAction("PaymentFailureResponse")); } else if (agentType == "WebSite") { return(View("../Payment/HealthProWebAfterPgResponse", interimOrderDetail)); } else { return(RedirectToAction("PaymentSuccessResponse")); } } else { if (agentType == "MobileApp") { return(RedirectToAction("PaymentPendingResponse")); } else if (agentType == "WebSite") { return(View("../Payment/HealthProWebAfterPgResponse", interimOrderDetail)); } else { return(RedirectToAction("PaymentSuccessResponse")); } } //if (res.Data) // return RedirectToAction(redirectAction, paytmResponse); //else // return RedirectToAction("PaymentFailureResponse", paytmResponse); return(null); } catch (Exception ex) { return(null); } //return View(); }
public ActionResult PaymentResponse(string interimOrderDeatilsId) { try { InterimOrderDeatils interimOrderDetail = _context.InterimOrderDeatils.FirstOrDefault(t => t.UniqueReference.ToLower() == interimOrderDeatilsId.ToLower()); var response = System.Web.Helpers.Json.Decode(interimOrderDetail.OrderDetails.ToString())[0]; if (interimOrderDetail == null) { throw new Exception("No record found."); } //Get the Care4uPgConfig with the groupEntityId available in the IntermediarOrderDetail fetched. // Get configuaration by ApplicationName,ModuleName,GroupEntityID,PaymentGateWay Care4UPgConfig pgConfig = _context.Care4uPgConfig.FirstOrDefault(t => t.Module.ToUpper().Equals(interimOrderDetail.PaymentForModule.ToUpper()) && t.PaymentGateWayType.ToUpper().Equals("PAYTM") && t.IsActive); if (pgConfig == null) { throw new Exception("Payment for this module has not been enabled."); } PaytmResponse paytmResponse = new PaytmResponse(); String merchantKey = pgConfig.Paytm_MerchantKey;// "jBIWVeuQ0AKxUU%R"; Dictionary <string, string> parameters = new Dictionary <string, string>(); string paytmChecksum = ""; foreach (string key in Request.Form.Keys) { parameters.Add(key.Trim(), Request.Form[key].Trim()); } if (parameters.ContainsKey("CHECKSUMHASH")) { paytmChecksum = parameters["CHECKSUMHASH"]; parameters.Remove("CHECKSUMHASH"); } paytmResponse.BANKNAME = parameters["BANKNAME"]; paytmResponse.BANKTXNID = parameters["BANKTXNID"]; paytmResponse.CHECKSUMHASH = paytmChecksum; paytmResponse.CURRENCY = parameters["CURRENCY"]; paytmResponse.GATEWAYNAME = parameters["BANKNAME"]; paytmResponse.MID = parameters["MID"]; paytmResponse.ORDERID = parameters["ORDERID"]; paytmResponse.PAYMENTMODE = parameters["PAYMENTMODE"]; // PaytmResponse.PROMO_CAMP_ID = parameters["PROMO_CAMP_ID"]; //PaytmResponse.PROMO_RESPCODE = parameters["PROMO_RESPCODE"]; // PaytmResponse.PROMO_STATUS = parameters["PROMO_STATUS"]; paytmResponse.RESPCODE = parameters["RESPCODE"]; paytmResponse.RESPMSG = parameters["RESPMSG"]; paytmResponse.STATUS = parameters["STATUS"]; paytmResponse.TXNAMOUNT = parameters["TXNAMOUNT"]; paytmResponse.TXNDATE = parameters["TXNDATE"]; paytmResponse.TXNID = parameters["TXNID"]; //string checksum = CheckSum.generateCheckSum(PaytmRequest.MerchantKey, parameters); paytmResponse.UniqueReference = interimOrderDeatilsId; //String merchantKey = parameters["MerchantKey"]; Dictionary <string, string> parameters1 = new Dictionary <string, string>(); //parameters.Add("REQUEST_TYPE", "DEFAULT"); //parameters.Add("AUTH_MODE", "3D"); // parameters.Add("PAYMENT_TYPE_ID", "DC"); parameters1.Add("MID", paytmResponse.MID); parameters1.Add("ORDER_ID", paytmResponse.ORDERID); string checksum = CheckSum.generateCheckSum(merchantKey, parameters1); paytmResponse.CHECKSUMHASH = checksum; return(View(paytmResponse)); } catch (Exception ex) { return(null); } }