示例#1
0
        public ActionResult ValiderPanier(PanierViewModel model)
        {
            ServicePointManager.Expect100Continue = true;
            ServicePointManager.SecurityProtocol  = SecurityProtocolType.Tls12;

            if (!ModelState.IsValid)
            {
                return(View("Panier", model));
            }

            Session["Panier"] = model;

            string serverURL = HttpContext.Request.Url.GetLeftPart(UriPartial.Authority) + VirtualPathUtility.ToAbsolute("~/");
            SetExpressCheckoutResponse transactionResponse = paypalService.SendPayPalSetExpressCheckoutRequest(model, serverURL);

            if (transactionResponse == null || transactionResponse.ResponseStatus != Core.Transcoder.PayPalMvc.Enums.ResponseType.Success)
            {
                string errorMessage = (transactionResponse == null) ? "Null Paypal Transaction Response" : transactionResponse.ErrorToString;
                Debug.WriteLine("Error initiating PayPal SetExpressCheckout transaction. Error: " + errorMessage);
                return(RedirectToAction("Panier", model));
            }
            FlashMessage.Confirmation(UiStrings.add_conversion_message_cart_validated);
            return(Redirect(string.Format(Configuration.Current.PayPalRedirectUrl, transactionResponse.TOKEN)));
        }