Exemplo n.º 1
0
        public ActionResult ConfirmOrder()
        {
            var token = Request["token"];
            var info  = new RequestCheckOrder
            {
                Merchant_id       = _merchantId,
                Merchant_password = _merchantPassword,
                Token             = token
            };
            var objNlCheckout = new APICheckout();
            var result        = objNlCheckout.GetTransactionDetail(info);

            if (result.errorCode == "00")
            {
                _orderService.UpdateStatus(int.Parse(result.order_code));
                ApplySendHtmlOrder();
                return(RedirectToAction("CompleteOrder", new OrderResultViewModel {
                    Result = true
                }));
            }

            return(RedirectToAction("CompleteOrder", new OrderResultViewModel {
                Result = false
            }));
        }
Exemplo n.º 2
0
        public ActionResult ConfirmOrder()
        {
            string            token = Request["token"];
            RequestCheckOrder info  = new RequestCheckOrder();

            info.Merchant_id       = merchantId;
            info.Merchant_password = merchantPassword;
            info.Token             = token;
            APICheckout        objNLChecout = new APICheckout();
            ResponseCheckOrder result       = objNLChecout.GetTransactionDetail(info);

            if (result.errorCode == "00")
            {
                _orderService.UpdateStatus(int.Parse(result.order_code));
                _orderService.SaveChanges();
                ViewBag.IsSuccess = true;
                ViewBag.Result    = "Thanh toán thành công. Chúng tôi sẽ liên hệ lại sớm nhất.";
            }
            else
            {
                ViewBag.IsSuccess = false;
                ViewBag.Result    = "Có lỗi xảy ra. Vui lòng liên hệ admin.";
            }
            return(View());
        }
Exemplo n.º 3
0
        public ActionResult CreateOrder(string orderViewModel)
        {
            if (!Request.IsAuthenticated)
            {
                TempData["UnAuthenticated"] = "Bạn phải đăng nhập để thanh toán";
                return(Json(new { status = false }));
            }
            var  order    = new JavaScriptSerializer().Deserialize <OrderViewModel>(orderViewModel);
            var  orderNew = new Order();
            bool isEnough = true;

            orderNew.UpdateOrder(order);
            if (Request.IsAuthenticated)
            {
                var userId = User.Identity.GetUserId();
                orderNew.CustomerId = userId;
                orderNew.CreatedBy  = User.Identity.GetUserName();
            }
            var cart         = (List <ShoppingCartViewModel>)Session[CommonConstants.ShoppingCartSession];
            var orderDetails = new List <OrderDetail>();

            foreach (var item in cart)
            {
                var detail = new OrderDetail
                {
                    ProductID = item.ProductId,
                    Quantity  = item.Quantity,
                    Price     = item.Product.Price
                };
                orderDetails.Add(detail);
                isEnough = _productService.SellingProduct(item.ProductId, item.Quantity);
            }
            if (!isEnough)
            {
                return(Json(new
                {
                    status = false,
                    message = "Sản phẩm này hiện tại đang hết hàng."
                }));
            }

            var orderReturn = _orderService.Add(ref orderNew, orderDetails);

            _orderService.SaveChanges();

            var totalAmount = orderDetails.Sum(x => x.Quantity * x.Price).ToString();

            Session["totalAmount"] = totalAmount;

            if (order.PaymentMethod == "CASH")
            {
                ApplySendHtmlOrder();
                return(Json(new
                {
                    status = true
                }));
            }


            var currentLink = ConfigHelper.GetByKey("CurrentLink");
            var info        = new RequestInfo
            {
                Merchant_id       = _merchantId,
                Merchant_password = _merchantPassword,
                Receiver_email    = _merchantEmail,
                cur_code          = "vnd",
                bank_code         = order.BankCode,
                Order_code        = orderReturn.ID.ToString(),
                Total_amount      = totalAmount,
                fee_shipping      = "0",
                Discount_amount   = "0",
                order_description = "Thanh toán đơn hàng tại uStora shop",
                return_url        = currentLink + "/xac-nhan-don-hang.htm",
                cancel_url        = currentLink + "/huy-don-hang.htm",
                Buyer_fullname    = order.CustomerName,
                Buyer_email       = order.CustomerEmail,
                Buyer_mobile      = order.CustomerMobile
            };

            Session["OrderId"] = orderReturn.ID;

            var objNlChecout = new APICheckout();
            var result       = objNlChecout.GetUrlCheckout(info, order.PaymentMethod);

            if (result.Error_code == "00")
            {
                return(Json(new
                {
                    status = true,
                    urlCheckout = result.Checkout_url,
                    message = result.Description
                }));
            }
            return(Json(new
            {
                status = false,
                message = result.Description
            }));
        }