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); } }
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()); }