public ActionResult PaytmPamentGateway(string interimOrderDeatilsId, string agent = null) { agentType = agent; // Get the IntermediarOrderDetail with the id provided InterimOrderDeatils interimOrderDetail = _context.InterimOrderDeatils.FirstOrDefault(t => t.UniqueReference.ToLower() == interimOrderDeatilsId.ToLower()); if (interimOrderDetail == null) { throw new Exception("No record found."); } var response = System.Web.Helpers.Json.Decode(interimOrderDetail.OrderDetails.ToString())[0]; //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."); } //Form the PaytmRequest Random generator = new Random(); String randomNumber = generator.Next(0, 999999).ToString("D6"); PaytmRequest PaytmRequest = new PaytmRequest(); PaytmRequest.MerchantKey = pgConfig.Paytm_MerchantKey; //"jBIWVeuQ0AKxUU%R"; PaytmRequest.MID = pgConfig.Paytm_MID; //"Kare4U04848812903368"; PaytmRequest.CHANNEL_ID = pgConfig.Paytm_CHANNEL_ID; // "WAP"; PaytmRequest.INDUSTRY_TYPE_ID = pgConfig.Paytm_INDUSTRY_TYPE_ID; // "Retail"; PaytmRequest.WEBSITE = pgConfig.Paytm_WEBSITE; // "APPSTAGING"; PaytmRequest.MOBILE_NO = response.ContactNo != null ? response.ContactNo : "0123456789"; // "9439421021"; PaytmRequest.EMAIL = !String.IsNullOrEmpty(response.Email) ? response.Email : "*****@*****.**"; // "*****@*****.**"; PaytmRequest.CUST_ID = (interimOrderDetail.ConsumerID.ToString() != "" && interimOrderDetail.ConsumerID.ToString() != null) ? "Cust" + interimOrderDetail.ConsumerID.ToString() : "Cust" + randomNumber; // interimOrderDetail.ConsumerID.ToString(); // PaytmRequest.CUST_ID = "Cust1023515"; // interimOrderDetail.ConsumerID.ToString(); //This property may change if any problem occurs //"Cust10235123" PaytmRequest.ORDER_ID = randomNumber; // interimOrderDetail.InterimOrderDeatilsID.ToString();//This property may change if any problem occurs PaytmRequest.TXN_AMOUNT = Math.Round(interimOrderDetail.AmountToBeCharged, 0).ToString(); PaytmRequest.CALLBACK_URL = pgConfig.Paytm_CALLBACK_URL + "?interimOrderDeatilsId=" + interimOrderDeatilsId; // "http://*****:*****@gmail.com"; ////PaytmRequest.MOBILE_NO = "9439421021"; ////PaytmRequest.CUST_ID = "Cust10235124"; ////PaytmRequest.ORDER_ID = randomNumber; ////PaytmRequest.TXN_AMOUNT = "10"; ////PaytmRequest.CALLBACK_URL = "http://localhost:63661/Payment/PaymentResponse1"; ////PaytmRequest.PaytmURL = "https://securegw-stage.paytm.in/theia/processTransaction"; Dictionary <string, string> parameters = new Dictionary <string, string>(); //parameters.Add("REQUEST_TYPE", "DEFAULT"); //parameters.Add("AUTH_MODE", "3D"); // parameters.Add("PAYMENT_TYPE_ID", "DC"); parameters.Add("MID", PaytmRequest.MID); parameters.Add("CHANNEL_ID", PaytmRequest.CHANNEL_ID); parameters.Add("INDUSTRY_TYPE_ID", PaytmRequest.INDUSTRY_TYPE_ID); parameters.Add("WEBSITE", PaytmRequest.WEBSITE); parameters.Add("EMAIL", PaytmRequest.EMAIL); parameters.Add("MOBILE_NO", PaytmRequest.MOBILE_NO); parameters.Add("CUST_ID", PaytmRequest.CUST_ID); parameters.Add("ORDER_ID", PaytmRequest.ORDER_ID); parameters.Add("TXN_AMOUNT", PaytmRequest.TXN_AMOUNT); parameters.Add("CALLBACK_URL", PaytmRequest.CALLBACK_URL); //This parameter is not mandatory. Use this to pass the callback url dynamically. //parameters.Add("MerchantKey", PaytmRequest.MerchantKey); //parameters.Add("InterimOrderDetailsId", interimOrderDeatilsId.ToString()); string checksum = CheckSum.generateCheckSum(PaytmRequest.MerchantKey, parameters); PaytmRequest.CheckSum = checksum; // string paytmURL = "https://securegw-stage.paytm.in/theia/processTransaction?orderid=" + r; // string paytmURL = "https://securegw-stage.paytm.in/theia/processTransaction"; string outputHTML = "<html>"; outputHTML += "<head>"; outputHTML += "<title>Merchant Check Out Page</title>"; outputHTML += "</head>"; outputHTML += "<body>"; outputHTML += "<center><h1>Please do not refresh this page...</h1></center>"; outputHTML += "<form method='post' action='" + PaytmRequest.PaytmURL + "' name='f1'>"; outputHTML += "<table border='1'>"; outputHTML += "<tbody>"; foreach (string key in parameters.Keys) { outputHTML += "<input type='hidden' name='" + key + "' value='" + parameters[key] + "'>"; } outputHTML += "<input type='hidden' name='CHECKSUMHASH' value='" + checksum + "'>"; outputHTML += "</tbody>"; outputHTML += "</table>"; outputHTML += "<script type='text/javascript'>"; outputHTML += "document.f1.submit();"; outputHTML += "</script>"; outputHTML += "</form>"; outputHTML += "</body>"; outputHTML += "</html>"; PaytmRequest.PaymentUrl = outputHTML; ViewBag.PaymentUrl = outputHTML; return(View(PaytmRequest)); }
// GET: Payment public ActionResult Index() { Random generator = new Random(); String randomNumber = generator.Next(0, 999999).ToString("D6"); String randomNumber1 = generator.Next(0, 9999).ToString("D6"); PaytmRequest PaytmRequest = new PaytmRequest(); PaytmRequest.MerchantKey = "z2jgxVaU1n8eGFn5"; PaytmRequest.MID = "KAHESO22899626174813"; PaytmRequest.CHANNEL_ID = "WEB"; PaytmRequest.INDUSTRY_TYPE_ID = "Retail"; PaytmRequest.WEBSITE = "WEBSTAGING"; PaytmRequest.EMAIL = "*****@*****.**"; PaytmRequest.MOBILE_NO = "9439421021"; PaytmRequest.CUST_ID = "CustIs102351241"; PaytmRequest.ORDER_ID = randomNumber1 + randomNumber; PaytmRequest.TXN_AMOUNT = "10"; PaytmRequest.CALLBACK_URL = "http://localhost:63661/Payment/PaymentResponse" + "?interimOrderDeatilsId=" + "aaaaa"; PaytmRequest.PaytmURL = "https://securegw-stage.paytm.in/theia/processTransaction"; Dictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add("MID", PaytmRequest.MID); parameters.Add("CHANNEL_ID", PaytmRequest.CHANNEL_ID); parameters.Add("INDUSTRY_TYPE_ID", PaytmRequest.INDUSTRY_TYPE_ID); parameters.Add("WEBSITE", PaytmRequest.WEBSITE); parameters.Add("EMAIL", PaytmRequest.EMAIL); parameters.Add("MOBILE_NO", PaytmRequest.MOBILE_NO); parameters.Add("CUST_ID", PaytmRequest.CUST_ID); parameters.Add("ORDER_ID", PaytmRequest.ORDER_ID); parameters.Add("TXN_AMOUNT", PaytmRequest.TXN_AMOUNT); parameters.Add("CALLBACK_URL", PaytmRequest.CALLBACK_URL); //This parameter is not mandatory. Use this to pass the callback url dynamically. string checksum = CheckSum.generateCheckSum(PaytmRequest.MerchantKey, parameters); PaytmRequest.CheckSum = checksum; string outputHTML = "<html>"; outputHTML += "<head>"; outputHTML += "<title>Merchant Check Out Page</title>"; outputHTML += "</head>"; outputHTML += "<body>"; outputHTML += "<center><h1>Please do not refresh this page...</h1></center>"; outputHTML += "<form method='post' action='" + PaytmRequest.PaytmURL + "' name='f1'>"; outputHTML += "<table border='1'>"; outputHTML += "<tbody>"; foreach (string key in parameters.Keys) { outputHTML += "<input type='hidden' name='" + key + "' value='" + parameters[key] + "'>"; } outputHTML += "<input type='hidden' name='CHECKSUMHASH' value='" + checksum + "'>"; outputHTML += "</tbody>"; outputHTML += "</table>"; outputHTML += "<script type='text/javascript'>"; outputHTML += "document.f1.submit();"; outputHTML += "</script>"; outputHTML += "</form>"; outputHTML += "</body>"; outputHTML += "</html>"; PaytmRequest.PaymentUrl = outputHTML; ViewBag.PaymentUrl = outputHTML; return(View(PaytmRequest)); }