public ActionResult CompletePayPalCheckout(string token = "", string payerID = "") { HttpContext ctx = System.Web.HttpContext.Current; Customer customer = ViewBag.customer; customer.GetFromStorage(ctx); if (!customer.Cart.Validate()) { return RedirectToAction("Index", "Cart"); } if (customer.Cart.GetPaymentID() > 0) { UDF.ExpireCart(ctx, customer.ID); return RedirectToAction("Index", "Cart"); } if (customer.Cart.GetStatus().statusID != (int)OrderStatuses.PaymentPending) { UDF.ExpireCart(ctx, customer.ID); return RedirectToAction("Index", "Cart"); }; decimal total = customer.Cart.getTotal(); Paypal p = new Paypal(); string confirmationKey = p.ECDoExpressCheckout(token, payerID, total.ToString(), customer.Cart); if (confirmationKey == "Success") { customer.Cart.AddPayment("PayPal", token, "Complete"); customer.Cart.SetStatus((int)OrderStatuses.PaymentComplete); customer.Cart.SendConfirmation(ctx); customer.Cart.SendInternalOrderEmail(ctx); int cartid = customer.Cart.ID; Cart new_cart = new Cart().Save(); new_cart.UpdateCart(ctx, customer.ID); DateTime cookexp = Request.Cookies["hdcart"].Expires; HttpCookie cook = new HttpCookie("hdcart", new_cart.ID.ToString()); cook.Expires = cookexp; Response.Cookies.Add(cook); customer.Cart = new_cart; customer.Cart.BindAddresses(); return RedirectToAction("Complete", new { id = cartid }); } else { return RedirectToAction("Index", new { message = "Your PayPal Transaction Could not be processed. Try Again." }); } }
public ActionResult PayPalCheckout(string token = "", string payerID = "") { HttpContext ctx = System.Web.HttpContext.Current; Customer customer = ViewBag.customer; // Retrieve Customer from Sessions/Cookie customer.GetFromStorage(ctx); // Create Cart object from customer customer.BindAddresses(); Cart cart = customer.Cart; // Get the parts from this Cart cart.GetParts(); ViewBag.showTotal = true; ViewBag.showQty = false; ViewBag.cart = cart; ViewBag.message = TempData["message"]; Paypal p = new Paypal(); PayPalResponse paypalResponse = p.ECGetExpressCheckout(token); if (paypalResponse.acknowledgement == "Success") { ViewBag.paypalResponse = paypalResponse; return View(); } return RedirectToAction("Index", new { message = "Your PayPal Transaction Could not be processed. Try Again." }); }
public ActionResult PayPal() { HttpContext ctx = System.Web.HttpContext.Current; Customer customer = ViewBag.customer; customer.GetFromStorage(ctx); if (!customer.Cart.Validate()) { return RedirectToAction("Index", "Cart"); } if (customer.Cart.GetPaymentID() > 0) { UDF.ExpireCart(ctx, customer.ID); return RedirectToAction("Index", "Cart"); } Paypal p = new Paypal(); string token = p.ECSetExpressCheckout(customer.Cart); if (!token.ToLower().Contains("failure")) { customer.Cart.SetStatus((int)OrderStatuses.PaymentPending); customer.Cart.paypalToken = token; if (Request.Url.Host.Contains("127.0.0") || Request.Url.Host.Contains("localhost")) { return Redirect("https://www.sandbox.paypal.com/webscr?cmd=_express-checkout&token=" + token); } else { return Redirect("https://www.paypal.com/webscr?cmd=_express-checkout&token=" + token); } } else { return RedirectToAction("Index", new { message = "There was a problem with your PayPal transaction. " + token }); } }
public ActionResult PayPalCheckout(string token = "", string payerID = "") { Customer customer = ViewBag.customer; // Retrieve Customer from Sessions/Cookie customer.GetFromStorage(); if (!customer.LoggedIn()) { return RedirectToAction("Index", "Authenticate", new { referrer = "https://" + Request.Url.Host + "/Cart/Checkout" }); } // Create Cart object from customer customer.BindAddresses(); Cart cart = customer.Cart; // Get the parts from this Cart cart.GetParts(); ViewBag.showShipping = true; ViewBag.cart = cart; ViewBag.message = TempData["message"]; Paypal p = new Paypal(); PayPalResponse paypalResponse = p.ECGetExpressCheckout(token); if (paypalResponse.acknowledgement == "Success") { ViewBag.paypalResponse = paypalResponse; return View(); } return RedirectToAction("Index", new { message = "Your PayPal Transaction Could not be processed. Try Again." }); }
public ActionResult PayPal() { Customer customer = ViewBag.customer; customer.GetFromStorage(); if (!customer.LoggedIn()) { return RedirectToAction("Index", "Authenticate", new { referrer = "https://" + Request.Url.Host + "/Cart/Checkout" }); } if (customer.Cart.payment_id > 0) { UDF.ExpireCart(customer.ID); return RedirectToAction("Index", "Cart"); } Paypal p = new Paypal(); string token = p.ECSetExpressCheckout(customer.Cart); if (!token.ToLower().Contains("failure")) { customer.Cart.paypalToken = token; if (Request.Url.Host.Contains("127.0.0") || Request.Url.Host.Contains("localhost")) { return Redirect("https://www.sandbox.paypal.com/webscr?cmd=_express-checkout&token=" + token); } else { return Redirect("https://www.paypal.com/webscr?cmd=_express-checkout&token=" + token); } } else { return RedirectToAction("Index", new { message = "There was a problem with your PayPal transaction. " + token }); } }
public ActionResult CompletePayPalCheckout(string token = "", string payerID = "") { Customer customer = ViewBag.customer; customer.GetFromStorage(); if (!customer.LoggedIn()) { return RedirectToAction("Index", "Authenticate", new { referrer = "https://" + Request.Url.Host + "/Cart/Checkout" }); } decimal total = customer.Cart.getTotal(); Paypal p = new Paypal(); string confirmationKey = p.ECDoExpressCheckout(token, payerID, total.ToString(), customer.Cart); if (confirmationKey == "Success") { customer.Cart.AddPayment("PayPal", token, "Complete"); customer.Cart.SendConfirmation(); int cartid = customer.Cart.ID; Cart new_cart = new Cart().Save(); new_cart.UpdateCart(customer.ID); DateTime cookexp = Request.Cookies["hdcart"].Expires; HttpCookie cook = new HttpCookie("hdcart", new_cart.ID.ToString()); cook.Expires = cookexp; Response.Cookies.Add(cook); customer.Cart = new_cart; customer.Cart.BindAddresses(); EDI edi = new EDI(); edi.CreatePurchaseOrder(cartid); return RedirectToAction("Complete", new { id = cartid }); } else { return RedirectToAction("Index", new { message = "Your PayPal Transaction Could not be processed. Try Again." }); } }