コード例 #1
0
ファイル: Operaciones.cs プロジェクト: crodriguezz/WS_VIS
        /// <summary>
        /// Inicia el Pago con Visa
        /// Creado por: Ludwing Ottoniel Cano fuentes - 05/03/2019
        ///</summary>
        /// <param name="datos"></param>
        /// <param name="datos_visa"></param>
        /// <param name="messageID"></param>
        /// <returns></returns>
        private DatosRespuestaPago RealizarPago(DatosPago datos, RespuestaVisa datos_visa, string messageID)
        {
            DatosRespuestaPago respuesta_datos = new DatosRespuestaPago();
            string             trama           = CrearTramaPago(datos);

            Metodos MQ_metodos = new Metodos();
            string  tt         = "";
            bool    response   = MQ_metodos.PutMessages(trama, messageID, out tt);

            OracleMethod oracle = new OracleMethod();

            if (response == false)
            {
                //Reversion
                respuesta_datos          = ReversionVisa(datos, datos_visa);
                respuesta_datos.TIP_OPER = Properties.Resources.CodErrorConexion;
                respuesta_datos.STATUS   = "No fue posible realizar el pago.";

                oracle.RegistrarEvento(datos, datos_visa, "ANULACION", "");
                return(respuesta_datos);
            }
            else
            {
                respuesta_datos.TIP_OPER       = Properties.Resources.CodPagoExitoso;
                respuesta_datos.STATUS         = "Su pago sera procesado en las proximas 24 hrs.";
                respuesta_datos.ID_Terminal    = Properties.VisaResource.VisaTerminalID;
                respuesta_datos.N_Autorizacion = datos_visa.AuditNumber;
                oracle.RegistrarEvento(datos, datos_visa, "PAGO ENERGUATE", messageID);
                return(respuesta_datos);
            }
        }
コード例 #2
0
ファイル: Operaciones.cs プロジェクト: crodriguezz/WS_VIS
        /// <summary>
        /// Realiza una reversion al momento de no tener una conexion con Visa
        /// Creado por: Ludwing Ottoniel Cano fuentes - 05/03/2019
        ///</summary>
        /// <param name="datos"></param>
        /// <returns></returns>
        private DatosRespuestaPago ReversionVisa(DatosPago datos, RespuestaVisa datos_visa)
        {
            RespuestaVisa resp_visa = OperacionAnulacionVisa(datos, Properties.VisaResource.VisaMessageTypeAnulacion);

            DatosRespuestaPago respuesta_datos = new DatosRespuestaPago
            {
                TIP_OPER = Properties.Resources.CodErrorConexion,
                STATUS   = "No se puedo efectuar el pago con Visa"
            };

            if (resp_visa != null)
            {
                if (resp_visa.ResponseCode.Equals("00"))
                {
                    //ENVIAR A LOG DE OPERACIONES
                    return(respuesta_datos);
                }
                else
                {
                    OracleMethod oracle = new OracleMethod();
                    oracle.RegistrarEvento(datos, resp_visa, "ERROR AL REVERSION", "");
                }
            }

            return(respuesta_datos);
        }
コード例 #3
0
ファイル: Operaciones.cs プロジェクト: crodriguezz/WS_VIS
        /// <summary>
        /// Realiza el pago con visa
        /// Creado por: Ludwing Ottoniel Cano fuentes - 05/03/2019
        ///</summary>
        /// <param name="datos"></param>
        /// <returns></returns>
        public DatosRespuestaPago PagarVisa(DatosPago datos)
        {
            RespuestaVisa resp_visa = OperacionVisa(datos, Properties.VisaResource.VisaMessageTypeVenta);

            DatosRespuestaPago respuesta_datos = new DatosRespuestaPago
            {
                TIP_OPER = Properties.Resources.CodErrorConexion,
                STATUS   = "No se puedo efectuar el pago con Visa"
            };

            if (resp_visa != null)
            {
                if (resp_visa.ResponseCode.Equals("00"))
                {
                    string messageID = datos.FECHA + DateTime.Now.ToString("HHmm") + resp_visa.ReferenceNumber;
                    respuesta_datos = RealizarPago(datos, resp_visa, messageID);
                    return(respuesta_datos);
                }
                else
                {
                    //Reversa
                    OperacionVisa(datos, Properties.VisaResource.VisaMessageTypeReversa);
                    return(respuesta_datos);
                }
            }

            return(respuesta_datos);
        }