private PayPalClientToken GetClientToken(string auth) { HttpClient client = new HttpClient(); PayPayClient ppClient = new PayPayClient() { customer_id = "customer_" + CurrentMember.MemberID }; string ppJson = JsonConvert.SerializeObject(ppClient); var bytes = Encoding.UTF8.GetBytes(auth); client.DefaultRequestHeaders.Add("Authorization", "Bearer " + auth); client.DefaultRequestHeaders.Add("Accept-Language", "en_US"); StringContent content = new StringContent(ppJson, UTF8Encoding.UTF8, "application/json"); HttpResponseMessage response = client.PostAsync("https://api.paypal.com/v1/identity/generate-token", content).Result; if (response.IsSuccessStatusCode) { string json = response.Content.ReadAsStringAsync().Result; PayPalClientToken cliToken = JsonConvert.DeserializeObject <PayPalClientToken>(json); return(cliToken); } return(new PayPalClientToken() { client_token = "FailedClient" }); }
public async Task <ActionResult> BookFilm(int id) { var mf = db.MemberFilms.Where(m => m.FilmID == id && m.MemberID == CurrentMember.MemberID && m.Token != null).Any(); if (mf) { return(RedirectToAction("AlreadyBooked", "Members")); } bool blocked = await IsBlocked(id); if (blocked) { return(RedirectToAction("GeoBlocked")); } Film film = db.Films.Find(id); PayPalToken authToken = GetAuthorizationToken(); PayPalClientToken clientToken = null; PayPalDetails details = db.PayPalDetails.First(); if (authToken.Access_Token == "Failed") { clientToken = new PayPalClientToken() { client_id = details.ClientID, client_token = "FailedAuthorization" }; } else { clientToken = GetClientToken(authToken.Access_Token); clientToken.client_id = details.ClientID; } BookFilmViewModel vm = new BookFilmViewModel() { FilmID = id, ClientID = clientToken.client_id, ClientToken = clientToken.client_token }; if (film != null) { ViewBag.ShowingTime = film.Showing; } ViewBag.CurrentTime = await GetLocationTime(); if (film.FilmID == 242 || film.FilmID == 244 || film.FilmID == 245 || film.FilmID == 248) { ViewBag.Fiver = true; } else { ViewBag.Fiver = false; } return(View(vm)); }