public ActionResult Void(string authorizationId) { var viewData = new ConfirmedViewData(); try { var accessToken = new OAuthTokenCredential(ConfigManager.Instance.GetProperties()["clientId"], ConfigManager.Instance.GetProperties()["clientSecret"]).GetAccessToken(); var apiContext = new APIContext(accessToken); var authorization = Authorization.Get(apiContext, authorizationId); if (authorization != null) { var voidedAuthorization = authorization.Void(apiContext); viewData.JsonResponse = JObject.Parse(voidedAuthorization.ConvertToJson()).ToString(Formatting.Indented); var reservaID = ((EntCuenta)Session["cuenta"]).ReservaID; bool eliminaReserva = LogReserva.Instancia.EliminarReserva(reservaID); return(RedirectToAction("Inicio", "Menu")); } viewData.ErrorMessage = "Could not find previous authorization."; return(View("Error", viewData)); } catch (PayPalException ex) { viewData.ErrorMessage = ex.Message; return(View("Error", viewData)); } }
/// <summary> /// Confirmeds the specified identifier. /// </summary> /// <param name="id">The identifier.</param> /// <param name="token">The token.</param> /// <param name="payerId">The payer identifier.</param> /// <returns></returns> public ActionResult Confirmed(Guid id, string token, string payerId) { var viewData = new ConfirmedViewData { Id = id, Token = token, PayerId = payerId }; var accessToken = new OAuthTokenCredential(ConfigManager.Instance.GetProperties()["ClientID"], ConfigManager.Instance.GetProperties()["ClientSecret"]).GetAccessToken(); var apiContext = new APIContext(accessToken); var payment = new Payment() { id = (string)Session[id.ToString()], }; var executedPayment = payment.Execute(apiContext, new PaymentExecution { payer_id = payerId }); viewData.AuthorizationId = executedPayment.transactions[0].related_resources[0].authorization.id; viewData.JsonRequest = JObject.Parse(payment.ConvertToJson()).ToString(Formatting.Indented); viewData.JsonResponse = JObject.Parse(executedPayment.ConvertToJson()).ToString(Formatting.Indented); return(View(viewData)); }
public ActionResult Capture(string authorizationId) { verificarSesion(); var viewData = new ConfirmedViewData(); try { var accessToken = new OAuthTokenCredential(ConfigManager.Instance.GetProperties()["clientId"], ConfigManager.Instance.GetProperties()["clientSecret"]).GetAccessToken(); var apiContext = new APIContext(accessToken); var authorization = Authorization.Get(apiContext, authorizationId); if (authorization != null) { var total = Convert.ToDouble(authorization.amount.total); //Sacando informacion de la reseva var reservaID = ((EntCuenta)Session["cuenta"]).ReservaID; var monto = ((EntCuenta)Session["cuenta"]).Monto; var capture = authorization.Capture(apiContext, new Capture { is_final_capture = true, amount = new Amount { currency = "USD", total = total.ToString("f2") }, }); viewData.JsonResponse = JObject.Parse(capture.ConvertToJson()).ToString(Formatting.Indented); //Generando comprobante de pago Random rdn = new Random(); EntReserva reserva = new EntReserva { ReservaID = reservaID }; EntComprobantepagoreserva fact = new EntComprobantepagoreserva { Monto = monto, NumeroSerie = rdn.Next(10001, int.MaxValue), Reserva = reserva }; Boolean generarCPReserva = LogComprobanteReserva.Instancia.GenerarComprobanteReserva(fact); //Limpiamos la información de la reserva ((EntCuenta)Session["cuenta"]).ReservaID = 0; ((EntCuenta)Session["cuenta"]).Monto = 0; viewData.ReservaID = fact.Reserva.ReservaID; viewData.Monto = fact.Monto; viewData.Serie = fact.NumeroSerie; return(View("Success", viewData)); } viewData.ErrorMessage = "Could not find previous authorization."; return(View("Error", viewData)); } catch (PayPalException ex) { viewData.ErrorMessage = ex.Message; return(View("Error", viewData)); } }