public ActionResult Checkout(CheckoutViewModel model) { CartViewModel cart = GetCartWithTruePrice(); if (cart.HasInvalidQuantity()) { return(RedirectToAction("Index")); } if (ModelState.IsValid) { List <Item> items = new List <Item>(); foreach (var item in cart.ListItem) { items.Add(new Item() { name = item.Name, currency = "USD", price = item.GetPriceAfterDiscount().ToString(), quantity = item.Quantity.ToString(), }); } var paymentParam = new PaypalPaymentService.PaypalPaymentParam() { Session = Session, CallbackUrl = Request.Url.Scheme + "://" + Request.Url.Authority + "/Cart/PaymentCallback", Items = items }; string url = PaymentService.SendPayment(paymentParam); if (url == "NG") { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } // Credit card here Session["Cart"] = cart; Session["CheckoutViewModel"] = model; return(Redirect(url)); } ViewBag.cart = cart; return(View(model)); }