public ActionResult Update(string id)
        {
            if (TempData.ContainsKey("call_id"))
            {
                string call_id = (string)TempData["call_id"];
                var    call    = ChargifyHelper.Chargify().ReadCall(call_id);
                if (call != null)
                {
                    ViewBag.Success = call.isSuccessful;
                    ViewBag.CallId  = call.id;
                    // After verify, we can retrieve the subscription id through the request params
                    if (call.request != null && !string.IsNullOrWhiteSpace(call.request.id))
                    {
                        if (string.IsNullOrWhiteSpace(id))
                        {
                            id = call.request.id;
                        }
                    }
                }
            }
            if (string.IsNullOrWhiteSpace(id))
            {
                return(HttpNotFound());
            }

            ViewBag.Timestamp                  = ToUnixTimestamp(DateTime.Now);
            ViewBag.Nonce                      = Guid.NewGuid().ToString();
            ViewBag.SubscriptionID             = id;
            TempData["AfterVerifyPageSuccess"] = "Update";
            TempData["AfterVerifyPageError"]   = "Update";
            return(View());
        }
        //
        // GET: /Home/Verify

        /// <summary>
        /// Called as the redirect from the transparent api call, included in the secure[data].
        /// </summary>
        /// <returns></returns>
        public ActionResult Verify()
        {
            var h = new Hashtable((IDictionary)Request.QueryString.ToDictionary());
            var chargifyResponse = ChargifyHelper.Chargify().Direct.ResponseParameters(h);

            if (chargifyResponse.isVerified)
            {
                var call = ChargifyHelper.Chargify().ReadCall(chargifyResponse.call_id);
                if (call != null)
                {
                    if (call.isSuccessful)
                    {
                        TempData["call_id"] = call.id;
                        return(RedirectToAction((string)TempData["AfterVerifyPageSuccess"]));
                    }
                    else
                    {
                        TempData["Errors"] = call.Errors;
                        return(RedirectToAction((string)TempData["AfterVerifyPageError"]));
                    }
                }
                else
                {
                    return(HttpNotFound());
                }
            }
            else
            {
                return(View("Unverified"));
            }
        }
Esempio n. 3
0
        public ActionResult Show(string id)
        {
            var call = ChargifyHelper.Chargify().ReadCall(id);

            if (call != null)
            {
                var serializer = new JavaScriptSerializer();
                ViewBag.Result = serializer.Serialize(call);
            }
            return(View());
        }
Esempio n. 4
0
        public async Task <ActionResult> ShowAsync(string id)
        {
            var result = await ChargifyHelper.Chargify().ReadCallAsync(id);

            if (result != null)
            {
                var serializer = new JavaScriptSerializer();
                ViewBag.Result = serializer.Serialize(result);
            }

            return(View());
        }
        //
        // GET: /Home/Receipt

        public ActionResult Receipt()
        {
            if (TempData.ContainsKey("call_id"))
            {
                string call_id = (string)TempData["call_id"];
                var    call    = ChargifyHelper.Chargify().ReadCall(call_id);
                if (call != null)
                {
                    return(View(call));
                }
            }
            return(HttpNotFound());
        }