public ActionResult PaymentCheckOut(string recieveOrder, string buyerOrder, string note, long shopid, long payfrom, string TaxOrder) { ProductsBusiness productsBusiness = new ProductsBusiness(); var serializerSettings = new JsonSerializerSettings { PreserveReferencesHandling = PreserveReferencesHandling.Objects }; var recieve = JsonConvert.DeserializeObject <List <string> >(recieveOrder, serializerSettings); var buyeror = JsonConvert.DeserializeObject <List <string> >(buyerOrder, serializerSettings); var taxOrder = JsonConvert.DeserializeObject <List <string> >(TaxOrder, serializerSettings); if (ModelState.IsValid) { var recieveadress = recieve[4]; var order = new Order(); order.FeeOfTranspot = 0; order.GramGood = 0; order.KmRoad = 0; order.TotalMoney = 0; order.IdPayForm = payfrom; order.IdShop = 0; order.NoteAboutOrder = note; var sesion = NlCheckout.GetSessionCard(Session); Member entity = SessionUtility.GetSessionMember(Session); LocationsBusiness locationsBusiness = new LocationsBusiness(); double moneytransport = 0; double totalmoney = 0; double totalGram = 0; List <OrderDetail> listOrderDetails = new List <OrderDetail>(); foreach (var item in sesion) { if (item.Product.MemberId == shopid) { var orderDetail = new OrderDetail(); orderDetail.IdOrder = order.Id; orderDetail.IdProduct = item.Product.Id; orderDetail.Price = (decimal)item.Product.Price; moneytransport += 0;// FuntionMember.CountMoneyTransport(0, item.Product.Weight * item.Quantity, recieve[3]); //Kiêm tra tinh chính xác đoạn này totalGram += item.Product.Weight; totalmoney += item.Product.Price + moneytransport; orderDetail.NameProduct = item.Product.ProductName; orderDetail.PathImage = item.Product.ProductImages.First(x => x.IsAvatar == 1).ImgSource; orderDetail.Quantity = item.Quantity; listOrderDetails.Add(orderDetail); } } NlCheckout.SetSessionOrderDetail(listOrderDetails, Session); var url = ""; order.TotalMoney = totalmoney; order.FeeOfTranspot = moneytransport; order.GramGood = totalGram; order.OrderDetails = listOrderDetails; order.Status = 0;// đơn hàng mới //Buyer Member member = SessionUtility.GetSessionMember(Session); var buyer = new OrderBuyer(); if (buyeror != null && buyeror.Any()) // lấy thông tin ngươi mua giông ng nhận hàng { buyer.Id = order.Id; buyer.Name = taxOrder[0]; buyer.PhoneNumber = buyeror[1]; buyer.Email = buyeror[2]; buyer.Address = taxOrder[1]; buyer.CMTND = taxOrder[2]; } else { buyer.Id = order.Id; buyer.Name = taxOrder[0]; buyer.PhoneNumber = recieve[1]; buyer.Email = recieve[2]; buyer.Address = taxOrder[1]; buyer.CMTND = taxOrder[2]; } buyer.CreateDate = DateTime.Now; if (member != null) { buyer.IdMember = member.Id;// người đăng nhập mua hàng } order.OrderBuyer = buyer; //Reciver var reciver = new OrderReciver(); reciver.Id = order.Id; reciver.Name = recieve[0]; reciver.PhoneNumber = recieve[1]; reciver.Email = recieve[2]; // reciver.Address = recieve[4]+", "+ recieve[3]; reciver.Address = recieve[4]; reciver.CreateDate = DateTime.Now; SessionUtility.SetSessionOrderReciver(reciver, Session); order.OrderReciver = reciver; #region Xoa san phâm trong sesion List <CartItem> listCartItems = new List <CartItem>(); foreach (var item in sesion) { if (item.Product.MemberId != shopid) { listCartItems.Add(item); } else { } } order.IdShop = null; ordersBusiness.AddNew(order); Session["Madonhang"] = order.Id; Session["TotalMoney"] = order.TotalMoney; NlCheckout.SetSessionCard(listCartItems, Session); #endregion Xoa san phâm trong sesion string body = ControllerExtensions.RenderRazorViewToString(this, "DetailCart", order); Function.ObjMailSend objmail = new Function.ObjMailSend(); var mailsend = new SystemSettingBusiness().GetDynamicQuery().First(x => x.Key == "mail_noreply"); var acount = mailsend.Value.Split('|'); objmail.FromMail = acount[0]; objmail.PassFromMail = acount[1]; objmail.ToMail = reciver.Email; Function.email_send(objmail, "[Noithatgoquy]Thông tin đơn hàng(" + DateTime.Now + ")", body); var car = NlCheckout.GetSessionCard(Session); if (payfrom == 200) { //thanh toan qua ngan luong string return_url = "https://wwww.vinaplaza.vn"; // Địa chỉ trả về string transaction_info = "info"; //Thông tin giao dịch string order_code = order.Id.ToString(); //Mã giỏ hàng string receiver = new NlCheckout().GetvalueAppsetting("acount_receiver"); //Tài khoản nhận tiền string price = totalmoney.ToString(); //Lấy giá của giỏ hàng BuyGroup365.Models.Member.NlCheckout nl = new BuyGroup365.Models.Member.NlCheckout(); //string url; url = nl.buildCheckoutUrl(return_url, receiver, transaction_info, order_code, price); //ImageButton imgBtn = new ImageButton(); //imgBtn.ImageUrl = "https://www.nganluong.vn/data/images/buttons/11.gif";//source file ảnh //imgBtn.PostBackUrl = url;//Gán địa chỉ url cho nút thanh toán // Response.Redirect(url); } else if (payfrom == 1) { //thanh toan qua bao kim } else { //nguoi mua va nguoi ban tu thuong luong gia ca } if (payfrom == 200) { return(Json(url, JsonRequestBehavior.AllowGet)); } else { if (car != null && car.Any()) { return(Json(1, JsonRequestBehavior.AllowGet)); } else { return(Json(1, JsonRequestBehavior.AllowGet)); // thay đôi lại luồng trước đây phân ra 2 trương hợp như thê này đê Render tới các page khác nhau } } // return Json(listCartItems, JsonRequestBehavior.AllowGet); } return(Json(0, JsonRequestBehavior.AllowGet)); }