Exemplo n.º 1
0
        public static object AtenderSolicitudWM(ESolicitud objE)
        {
            ERespuestaJson objRespuesta = new ERespuestaJson();

            try
            {
                if (HttpContext.Current.Session["userRump"] == null)
                {
                    objRespuesta.Error("Su sesión ha expirado, por favor vuelva a iniciar sesión");
                    return(objRespuesta);
                }

                int      objResultado = 0;
                EUsuario eSession     = (EUsuario)HttpContext.Current.Session["userRump"];
                objE.USUARIO = eSession.ID;
                objE.ID      = Convert.ToDecimal(EUtil.getDesencriptar(objE.ID_ENCRIP));
                objResultado = NSolicitud.AtenderSolicitud(objE);

                if (objResultado == 0)
                {
                    objRespuesta.Error("No se pudo atender.");
                }
                else
                {
                    objRespuesta.Success("Se atendió la solicitud correctamente");
                }
            }
            catch (Exception ex)
            {
                objRespuesta.Error(String.IsNullOrEmpty(ex.Message) ? ex.InnerException.Message : ex.Message);
            }
            return(objRespuesta);
        }
Exemplo n.º 2
0
        public PaymentStatus processPaymentResponse(dynamic payment, decimal numPedido, string p_email)
        {
            PaymentStatus result_estado;

            try
            {
                ESolicitud objSol = new ESolicitud();
                objSol.ID = numPedido;
                EUsuario eUsuario = (EUsuario)HttpContext.Current.Session["userRump"];
                objSol.USUARIO = eUsuario.ID;

                if (payment.Status == MercadoPago.Common.PaymentStatus.approved || payment.Status == MercadoPago.Common.PaymentStatus.authorized)
                {
                    //Actualiza el estado de la solicitud a APROBADO
                    objSol.COMENTARIO = "approved::MercadoPago";
                    //Guardando datos pago
                    savePayDatabase(payment.TransactionAmount, payment.Card.LastFourDigits, numPedido, 2, JsonConvert.SerializeObject(payment), 1, p_email, "approved");
                    //Atendiendo solicitud
                    NSolicitud.AtenderSolicitud(objSol);
                    enviarMail(p_email, "aprobada", numPedido.ToString());

                    //Limpiando sesiones
                    HttpContext.Current.Session["solicitudPedido"] = null;
                    HttpContext.Current.Session["carritoMascota"]  = null;
                }
                else if (payment.Status == MercadoPago.Common.PaymentStatus.cancelled)
                {
                    //cancelado
                    //Actualiza el estado de la solicitud a ANULADO
                    objSol.COMENTARIO = "cancelled::MercadoPago";
                    NMascota.log_error("cancelled::" + JsonConvert.SerializeObject(payment), "pago");
                    //NSolicitud.AnularSolicitud(objSol);

                    //Limpiando sesiones
                    HttpContext.Current.Session["solicitudPedido"] = null;
                    HttpContext.Current.Session["carritoMascota"]  = null;
                }
                else if (payment.Status == MercadoPago.Common.PaymentStatus.rejected)
                {
                    //fallido
                    //Actualiza el estado de la solicitud a ANULADO
                    objSol.COMENTARIO = "rejected::MercadoPago";
                    NMascota.log_error("rejected::" + JsonConvert.SerializeObject(payment), "pago");
                    //NSolicitud.AnularSolicitud(objSol);

                    //Limpiando sesiones
                    HttpContext.Current.Session["solicitudPedido"] = null;
                    HttpContext.Current.Session["carritoMascota"]  = null;
                }
                else if (payment.Status == MercadoPago.Common.PaymentStatus.in_process)
                {
                    //Caso particular de MercadoPago (pago pendiente de revision, se da hasta 6hrs para revision)
                    savePayDatabase(payment.TransactionAmount, payment.Card.LastFourDigits, numPedido, 2, JsonConvert.SerializeObject(payment), 2, p_email, "in_process");
                    enviarMail(p_email, "proceso", numPedido.ToString());

                    //Limpiando sesiones
                    HttpContext.Current.Session["solicitudPedido"] = null;
                    HttpContext.Current.Session["carritoMascota"]  = null;
                }
                else
                {
                    //Error en la pasarela de pago. Intente nuevamente por favor
                    NMascota.log_error("Estado no considerado::" + JsonConvert.SerializeObject(payment), "pago");
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Alerta", "alert('(E02) El pago no se realizó, volver a intentar.')", true);
                }

                result_estado = payment.Status;
            }
            catch (Exception ex)
            {
                NMascota.log_error("processPaymentResponse::" + (String.IsNullOrEmpty(ex.Message) ? ex.InnerException.Message : ex.Message), "pago");
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Alerta", "alert('" + (String.IsNullOrEmpty(ex.Message) ? ex.InnerException.Message : ex.Message) + "')", true);
                result_estado = 0;
            }

            return(result_estado);
        }
Exemplo n.º 3
0
        public void processPaymentResponse(dynamic payment, decimal numPedido, decimal idPago, string p_email)
        {
            try
            {
                if (payment != null)
                {
                    int        objResultado = 0;
                    ESolicitud objSol       = new ESolicitud();
                    objSol.ID      = numPedido;
                    objSol.USUARIO = 10585;//usuario fchara para los pagos de sistema

                    switch (payment.Status)
                    {
                    case MercadoPago.Common.PaymentStatus.approved:
                    case MercadoPago.Common.PaymentStatus.authorized:
                        //Actualiza el estado de la solicitud a APROBADO
                        objSol.COMENTARIO = "approved::MercadoPago";
                        objResultado      = NSolicitud.AtenderSolicitud(objSol);
                        paymentGen.updatePayDatabase(idPago, 4, "", 1, "approved");
                        paymentGen.enviarMail(p_email, "aprobada", numPedido.ToString());
                        break;

                    case MercadoPago.Common.PaymentStatus.cancelled:
                        //cancelado
                        //Actualiza el estado de la solicitud a ANULADO
                        objSol.COMENTARIO = "cancelled::MercadoPago";
                        objResultado      = NSolicitud.AnularSolicitud(objSol);
                        paymentGen.updatePayDatabase(idPago, 4, "", 0, "cancelled");
                        paymentGen.enviarMail(p_email, "cancelada", numPedido.ToString());
                        break;

                    case MercadoPago.Common.PaymentStatus.rejected:
                        //fallido
                        //Actualiza el estado de la solicitud a ANULADO
                        objSol.COMENTARIO = "rejected::MercadoPago";
                        objResultado      = NSolicitud.AnularSolicitud(objSol);
                        paymentGen.updatePayDatabase(idPago, 4, "", 0, "cancelled");
                        paymentGen.enviarMail(p_email, "cancelada", numPedido.ToString());
                        break;

                    case MercadoPago.Common.PaymentStatus.in_process:
                        //Caso particular de MercadoPago (pago pendiente de revision, se da hasta 6hrs para revision)
                        break;

                    case null:
                        //Error en la pasarela de pago. Intente nuevamente por favor
                        NMascota.log_error("Error en la pasarela de pago. Intente nuevamente por favor", "pago");
                        break;

                    default:
                        break;
                    }
                }
                else
                {
                    NMascota.log_error("payment card", "pago");
                }
            }
            catch (Exception ex)
            {
                NMascota.log_error("payment card::" + (String.IsNullOrEmpty(ex.Message) ? ex.InnerException.Message : ex.Message), "pago");
            }
        }