Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        // 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));
        }