Example #1
0
        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));
        }
Example #3
0
        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));
            }
        }