public ActionResult CreateOrder(PaymentInitiateModel _requestData)
        {
            // Generate random receipt number for order
            Random randomObj     = new Random();
            string transactionId = randomObj.Next(10000000, 100000000).ToString();

            Razorpay.Api.RazorpayClient client  = new Razorpay.Api.RazorpayClient("rzp_test_jgSfZxfkVFDQ0t", "lQz5sINmfOOXXKmM6zPT225T");
            Dictionary <string, object> options = new Dictionary <string, object>();

            options.Add("amount", _requestData.amount * 100);  // Amount will in paise
            options.Add("receipt", transactionId);
            options.Add("currency", "INR");
            options.Add("payment_capture", "1"); // 1 - automatic  , 0 - manual
                                                 //options.Add("notes", "-- You can put any notes here --");
            Razorpay.Api.Order orderResponse = client.Order.Create(options);
            //string orderId = orderResponse["id"].ToString();

            // Create order model for return on view
            OrderModel orderModel = new OrderModel
            {
                //orderId = orderResponse.Attributes["id"],
                razorpayKey   = "rzp_test_jgSfZxfkVFDQ0t",
                amount        = _requestData.amount * 100,
                currency      = "INR",
                name          = _requestData.name,
                email         = _requestData.email,
                contactNumber = _requestData.contactNumber,
                address       = _requestData.address,
                description   = "Testing description"
            };

            // Return on PaymentPage with Order data
            return(View("PaymentPage", orderModel));
        }
        /// <summary>
        /// Razorpay
        /// </summary>
        /// <returns></returns>



        public IActionResult RazorpayPayment()
        {
            PaymentInitiateModel payment = new PaymentInitiateModel();
            UserModel            user    = new UserModel();

            user                  = _unitOfWork.User.GetFirstOrDefault(e => e.UserName == User.FindFirst("UserName").Value);
            payment.name          = user.FirstName;
            payment.email         = user.Email;
            payment.contactNumber = "9931159589";
            payment.address       = "Ranchi";
            payment.amount        = 1;
            payment.UserId        = user.Id;
            payment.User          = user;
            _unitOfWork.Payment.Add(payment);
            _unitOfWork.Save();
            return(View(payment));
        }
        public ActionResult BuyNowService(int ServId)
        {
            var    service = _context.Services.Where(p => p.Id == ServId).FirstOrDefault();
            string id      = User.Identity.GetUserId();
            var    cust    = _context.Users.Where(u => u.Id == id).FirstOrDefault();
            var    ven     = (from s in _context.Services
                              join u in _context.Users
                              on s.Vendor.Id equals u.Id
                              where (s.Id == ServId)
                              select u).FirstOrDefault();
            var amount = service.Price;
            var time   = DateTime.Now;
            var po     = new ServiceOrder()
            {
                Service = service, Customer = cust, Vendor = ven, Count = 1, Status = 'p', Amount = amount, Time = time
            };

            _context.ServiceOrders.Add(po);
            var massven = "The Order for Servisce (" + service.Name + ") is plased By (" + cust.FirstName + " " + cust.LastName + ") .";
            var not1    = new Notification()
            {
                User = ven, Massage = massven, Time = time, Read = false
            };
            var masscut = "The Order for Service ( " + service.Name + " ) is plased Successfully";
            var not2    = new Notification()
            {
                User = cust, Massage = masscut, Time = time, Read = false
            };
            var pay = new PaymentInitiateModel()
            {
                name          = cust.FirstName + " " + cust.LastName,
                address       = cust.Address + "," + cust.City + "," + cust.State + "," + cust.Zip,
                contactNumber = cust.PhoneNumber,
                amount        = (int)(service.Price * 1),
                email         = cust.Email
            };

            _context.Notifications.Add(not1);
            _context.Notifications.Add(not2);
            _context.SaveChanges();
            return(RedirectToAction("GetPayment", "Payment", pay));
        }