Example #1
0
        public void UpdateOrder(VnPayResponse vnPayResponse, InforOrder order)
        {
            var connection = new SqlConnection(connectionString);

            DateTime date = DateTime.ParseExact(vnPayResponse.vnp_PayDate, "yyyyMMddHHmmss", CultureInfo.InvariantCulture);

            try
            {
                connection.Open();
                var command = connection.CreateCommand();

                command.CommandType = CommandType.StoredProcedure;
                command.CommandText = UpdateOrders;

                var status = vnPayResponse.vnp_ResponseCode == "00" ? "Thành Công" : "Chưa Thanh Toán";

                command.Parameters.Add(new SqlParameter("@order_id", order.id_order));

                command.Parameters.Add(new SqlParameter("@status", status));

                command.ExecuteNonQuery();
                connection.Close();
            }

            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
Example #2
0
        public void AddOrder(VnPayResponse vnPayResponse, CheckUser user, InforOrder order)
        {
            var      connection = new SqlConnection(connectionString);
            string   mobile     = order.phone.ToString();
            DateTime date       = DateTime.ParseExact(vnPayResponse.vnp_PayDate, "yyyyMMddHHmmss", CultureInfo.InvariantCulture);

            try
            {
                connection.Open();
                var command = connection.CreateCommand();

                command.CommandType = CommandType.StoredProcedure;
                command.CommandText = InsertOrder;

                var status = vnPayResponse.vnp_ResponseCode == "00" ? "Thành Công" : "Chưa Thanh Toán";

                string code_order = "#" + DateTime.Now.ToBinary().ToString() + user.ID_User;

                command.Parameters.Add(new SqlParameter("@USER_ID", user.ID_User));
                command.Parameters.Add(new SqlParameter("@Code", code_order));
                command.Parameters.Add(new SqlParameter("@TYPEPAY", 1));
                command.Parameters.Add(new SqlParameter("@CARDTYPE", order.CardType));
                command.Parameters.Add(new SqlParameter("@DENOMINATION_ID", order.denomination));
                command.Parameters.Add(new SqlParameter("@PHONE", mobile));
                command.Parameters.Add(new SqlParameter("@BRAND", order.network));
                command.Parameters.Add(new SqlParameter("@QUANTITY", 1));
                command.Parameters.Add(new SqlParameter("@TOTAL", vnPayResponse.vnp_Amount / 100));
                command.Parameters.Add(new SqlParameter("@DISCOUNT", 1));
                command.Parameters.Add(new SqlParameter("@STATUS", status));
                command.Parameters.Add(new SqlParameter("@BANKCODE", vnPayResponse.vnp_BankCode));
                command.Parameters.Add(new SqlParameter("@CREATED_AT", date));
                command.ExecuteNonQuery();
                connection.Close();
            }

            catch (Exception e)
            {
                //fix not ho em nhe , dang bi loi convert datetime nua thoi may th kia em fix het rôi
                Console.WriteLine(e.Message);
            }
        }
        //string menhgia,string moblie,string nhamang,string type
        public ActionResult RePay(string moblie, string id)
        {
            var id_order     = Int32.Parse(Request["id"]);
            var nhamang      = Request["nhamang"];
            var type         = Request["type"];
            var menhgia      = Convert.ToInt32(Request["menhgia"]);
            var valueMenhgia = db.ShowDenomination().Find(c => c.ID == menhgia);
            var sdt          = Int32.Parse(moblie);

            InforOrder inforOrder = new InforOrder();

            inforOrder.phone        = sdt;
            inforOrder.denomination = valueMenhgia.ID;
            inforOrder.network      = nhamang;
            inforOrder.CardType     = type;
            inforOrder.id_order     = id_order;

            Session["InforOrder"] = inforOrder;

            ViewBag.mobile  = sdt;
            ViewBag.menhgia = Request["menhgia"];

            ViewBag.valueMenhgia = valueMenhgia;
            ViewBag.nhamang      = Request["nhamang"];
            ViewBag.type         = Request["type"];

            string vnp_Returnurl  = ConfigurationManager.AppSettings["vnp_Returnurl"];  //URL nhan ket qua tra ve
            string vnp_Url        = ConfigurationManager.AppSettings["vnp_Url"];        //URL thanh toan cua VNPAY
            string vnp_TmnCode    = ConfigurationManager.AppSettings["vnp_TmnCode"];    //Ma website
            string vnp_HashSecret = ConfigurationManager.AppSettings["vnp_HashSecret"]; //Chuoi bi mat

            //Get payment input
            OrderInfo order = new OrderInfo();

            order.OrderId          = DateTime.Now.Ticks;
            order.Phone            = Convert.ToInt32(moblie);
            order.Amount           = Convert.ToInt32(valueMenhgia.Price);
            order.OrderDescription = "aloalo thanh toan";
            order.CreatedDate      = DateTime.Now;


            //Build URL for VNPAY
            VnPayLibrary vnpay = new VnPayLibrary();

            vnpay.AddRequestData("vnp_Version", "2.0.0");
            vnpay.AddRequestData("vnp_Command", "pay");
            vnpay.AddRequestData("vnp_TmnCode", vnp_TmnCode);

            string locale = "vn";//"en"

            if (!string.IsNullOrEmpty(locale))
            {
                vnpay.AddRequestData("vnp_Locale", locale);
            }
            else
            {
                vnpay.AddRequestData("vnp_Locale", "vn");
            }

            vnpay.AddRequestData("vnp_CurrCode", "VND");
            vnpay.AddRequestData("vnp_TxnRef", order.OrderId.ToString());
            vnpay.AddRequestData("vnp_Phone", order.Phone.ToString());
            vnpay.AddRequestData("vnp_OrderInfo", order.OrderDescription);
            vnpay.AddRequestData("vnp_OrderType", "insurance"); //default value: other
            vnpay.AddRequestData("vnp_Amount", (order.Amount * 100).ToString());
            vnpay.AddRequestData("vnp_ReturnUrl", vnp_Returnurl);
            vnpay.AddRequestData("vnp_IpAddr", GetIpAddress());
            vnpay.AddRequestData("vnp_CreateDate", order.CreatedDate.ToString("yyyyMMddHHmmss"));
            string paymentUrl = vnpay.CreateRequestUrl(vnp_Url, vnp_HashSecret);

            ViewBag.demoUrl = paymentUrl;
            return(View());
        }