public async Task <IActionResult> Complete() { var user = await _userManager.GetUserAsync(HttpContext.User); var orderItemsSessionModel = HttpContext.Session.Get <List <OrderItemSessionModel> >(SessionConstants.ORDER_ITEMS_SESSION_MODEL_NAME); var paymentSessionModel = HttpContext.Session.Get <PaymentSessionModel>(SessionConstants.PAYMENT_SESSION_MODEL_NAME); if (paymentSessionModel == null || orderItemsSessionModel == null) { return(RedirectToActionPermanent("Index", "Home")); } var orderItems = PopulateViewModel(orderItemsSessionModel); var viewModel = new PaymentCompleteViewModel() { PhoneNumber = user.PhoneNumber, Email = user.Email, ClientName = user.FullName, OrderCode = paymentSessionModel.OrderCode, GrossTotal = paymentSessionModel.GrossTotal, Vat = paymentSessionModel.Vat, NetTotal = paymentSessionModel.NetTotal, Currency = paymentSessionModel.Currency, PaymentType = paymentSessionModel.PaymentType, Items = orderItems.Items }; return(View(viewModel)); }
//4242424242424242 //test card https://stripe.com/docs/testing public IActionResult PaymentComplete() { //Retrieve object from temp data var orderToPlace = JsonSerializer.Deserialize <YallaNakol.Data.Models.Order>((string)TempData["Order"]); orderRepo.CreateOrder(orderToPlace); // place order shoppingCart.ClearItems(); // clear cart items orderRepo.SaveChanges(); // save order changes shoppingCart.SaveChanges(); // save cart changes var paymentCompleteVM = new PaymentCompleteViewModel() { TotalOrderCost = orderToPlace.OrderTotal, TrackingId = orderToPlace.TrackingID, PaymentType = orderToPlace.PaymentType }; return(View(paymentCompleteVM)); }