public async Task <ActionResult> Subscribe(decimal amount) { var id = (int)Session["providerId"]; var callbackurl = Request.Url.ToString();; var price = (int)amount * 100; var useremail = User.Identity.GetUserName(); var connectionInstance = new PaystackTransaction(ConfigurationManager.AppSettings["Credential"]); var response = await connectionInstance.InitializeTransaction(useremail, price, callbackUrl : callbackurl); try { if (response.status) { Reference = response.data.reference; Response.AddHeader("Access-Control-Allow-Origin", "*"); Response.AppendHeader("Access-Control-Allow-Origin", "*"); Response.Redirect(response.data.authorization_url); //Redirects your browser to the secure URL } string reference = Reference; string secretKey = ConfigurationManager.AppSettings["Credential"]; var paystackTransactionApi = new PaystackTransaction(secretKey); var response1 = await paystackTransactionApi.VerifyTransaction(reference); if (response1.status && response1.data.status.Equals("success")) { var userid = User.Identity.GetUserId(); var username = User.Identity.GetUserName(); var sub = BusinessLogic.ActivateSubscribed(amount, "success", userid, username); _subscribed.Add(sub); if (_subscribed.comit()) { TempData["subscribe"] = $"subscription successful {sub.SubscribedMonth} months, amount {sub.AmountSubscribed} ,expiries{sub.SubscribtionExpiryDate}"; return(RedirectToAction("SiteDetails", "Loan", new { id = id })); // return RedirectToAction("MyNextAction", // new { r = Request.Url.ToString() }); // return Redirect(ReturnUrl); } } } catch (Exception e) { Console.Write(e.InnerException.ToString() ?? e.Message); } return(RedirectToAction("Failed", "Subscribed")); }