public ActionResult ConfirmFromStripe() { try { var stateId = HttpContext.Request.Params["state"]; if (String.IsNullOrEmpty(stateId)) return Redirect(Url.Content("~/?u=" + SiteMessagesEnum.na)); string returnType = stateId.Split('-')[0]; string privId = stateId.Split('-')[1]; StripeStateReturnCodeEnum typeOfReturn = (StripeStateReturnCodeEnum)Enum.Parse(typeof(StripeStateReturnCodeEnum), returnType); var errorCode = HttpContext.Request.Params["error"]; if (!String.IsNullOrEmpty(errorCode)) { if (errorCode == StripeConnectCodes.access_denied.ToString()) { var sg = new MerchantGateway(); var store = sg.GetMerchant(new Guid(privId)); if (store != null && typeOfReturn == StripeStateReturnCodeEnum.store) return Redirect(Url.Content("~/store/settings/" + privId + "/" + store.MerchantId.ToString().Replace("-", "") + "?u=" + SiteMessagesEnum.sced)); else if (store != null && typeOfReturn == StripeStateReturnCodeEnum.merchant) return Redirect(Url.Content("~/merchant/settings?u=" + SiteMessagesEnum.sced)); } } var stripeCode = HttpContext.Request.Params["code"]; if (!String.IsNullOrEmpty(stripeCode)) { var sg = new StoreGateway(); sg.UpdateStripeKey(stripeCode, new Guid(privId)); var mg = new MerchantGateway(); var store = mg.GetMerchant(new Guid(privId)); if (store != null && typeOfReturn == StripeStateReturnCodeEnum.store) return Redirect(Url.Content("~/store/settings/" + privId + "/" + store.MerchantId.ToString().Replace("-", "") + "?u=" + SiteMessagesEnum.sca)); else if (store != null && typeOfReturn == StripeStateReturnCodeEnum.merchant) return Redirect(Url.Content("~/merchant/settings?u=" + SiteMessagesEnum.sca)); } } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return Redirect(Url.Content("~/?u=" + SiteMessagesEnum.sww)); }