/// <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); } }
/// <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); }
/// <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); }