public static TransaccionesRespuestasEntities CobroEnLinea(LogServiceFee item, string sNombreTitular, TransaccionesRespuestasEntities Respuesta, String sMerchant, String sTipoTarjeta, TransaccionesTarjetaNPService Tran, String sCurrency, int valor, CreditCardInfo dtsTarjeta, int iPaxNumber, string recLoc) { try { decimal MontoConIVA = Math.Round(Convert.ToDecimal(item.sMonto) * 1.16M, 2); string idTransaccion = item.id + valor; string sRespuesta = Tran.Cobro(idTransaccion, sNombreTitular, item.sNumTarjeta, item.sMesVencimiento, item.sAnioVencimiento, item.sCodigoTarjeta, MontoConIVA, sCurrency, sTipoTarjeta, sMerchant, ref Respuesta); var tr = new MyCTS.Services.PagosMIT.TransaccionesEntities(); if (Respuesta == null || string.IsNullOrEmpty(Respuesta.NumeroOperacion) || string.IsNullOrEmpty(Respuesta.NumeroAutorizacion)) { ErrorLogServiceChargeBL.InsertErrorLogServiceCharge("Error", "Error en " + item.id, "", ""); tr = new MyCTS.Services.PagosMIT.TransaccionesEntities { sReference = item.id }; string m = Tran.ValidatePayment(ref tr, DateTime.Now); Respuesta.NumeroOperacion = tr.sNoOperacion; Respuesta.NumeroAutorizacion = tr.sAuth; } else { ErrorLogServiceChargeBL.InsertErrorLogServiceCharge(string.IsNullOrEmpty(Respuesta.EstatusTransaccion) ? "" : Respuesta.EstatusTransaccion, string.IsNullOrEmpty(Respuesta.MensajeAmistoso) ? "" : Respuesta.MensajeAmistoso, string.IsNullOrEmpty(Respuesta.NumeroAutorizacion) ? "" : Respuesta.NumeroAutorizacion, string.IsNullOrEmpty(Respuesta.NumeroOperacion) ? "" : Respuesta.NumeroOperacion); } item.sNumOperacion = Respuesta.NumeroOperacion; item.sNumAutorizacion = Respuesta.NumeroAutorizacion; if (dtsTarjeta.OrigenVenta == "H" || dtsTarjeta.OrigenVenta == "D") { LogCxSHotelBL logCxSHotelBL = new LogCxSHotelBL(); logCxSHotelBL.InserLogCxSHotel(dtsTarjeta.PNR, idTransaccion, 85, Respuesta.NumeroAutorizacion, Respuesta.NumeroOperacion, item.sNumTarjeta, item.sBanco, Convert.ToDecimal(item.sMonto)); } else { if (!string.IsNullOrEmpty(Respuesta.NumeroOperacion) && !string.IsNullOrEmpty(Respuesta.NumeroAutorizacion)) { try { LogOnlinePayServicesBL.InsertOnlinePayService(dtsTarjeta.TipoTarjeta, iPaxNumber, recLoc, Respuesta.NumeroAutorizacion, Respuesta.NumeroOperacion, item.sNumTarjeta, Convert.ToDecimal(item.sMonto), item.sBoletos, ""); } catch (Exception ex) { new EventsManager.EventsManager(ex, EventsManager.EventsManager.OrigenError.CapaDePresentacion); } } } if (!string.IsNullOrEmpty(Respuesta.NumeroOperacion) && !string.IsNullOrEmpty(Respuesta.NumeroAutorizacion)) { try { ImprimeTicketBanco(idTransaccion, 85, ConfigurationManager.AppSettings["DatosContacto"].Split('|')[3], "Comprobante de pago referencia No. " + idTransaccion); } catch (Exception) { MessageBox.Show("No se ha podido enviar el comprobante. Por favor contacta a la Mesa de Servicio para levantar el reporte", Resources.Constants.MYCTS, MessageBoxButtons.OK, MessageBoxIcon.Information); } } } catch (Exception ex) { try { new EventsManager.EventsManager(ex, EventsManager.EventsManager.OrigenError.CapaDePresentacion); } catch (Exception) { new EventsManager.EventsManager(System.Diagnostics.EventLogEntryType.Error, ex); } } return(Respuesta); }
private void PagarHotel(ref List <ListaFiltrada> lstListaFiltrada, ref TransaccionesRespuestasEntities Respuesta) { if (tarjeta.TipoTarjeta.Equals("CCAC") || tarjeta.TipoTarjeta.Equals("CCPV") || tarjeta.TipoTarjeta.Equals("CCTD")) { try { LogServiceFee item = new LogServiceFee(); String sNombreTransaccion = string.Empty; TransaccionesTarjetaNPService Tran = new TransaccionesTarjetaNPService(); int iNumeroIntento = 0; // Se guarda en LogServiceFee la respuesta item = new LogServiceFee { id = sNombreTransaccion, sCodigoTarjeta = tarjeta.CodigoSeguridad, sNumTarjeta = tarjeta.NumeroTarjeta, sMesVencimiento = tarjeta.MesVencimiento, sAnioVencimiento = tarjeta.AnioVencimiento, sBanco = tarjeta.TipoTarjeta, sMonto = tarjeta.MontoCargo.ToString(), dtDate = DateTime.Now, sBoletos = tarjeta.Ticket, sRemarks = String.Empty, sRecLoc = recLoc }; // se harcodea el valor del orgId al de CTS, cambiar para cuando se integren mas empresas item.id = sNombreTransaccion = "MyCTS-" + tarjeta.OrigenVenta + "-" + recLoc + "_"; Respuesta = Pagar(ref item, tarjeta.NombreTitular, tarjeta, 1, iNumeroIntento); ErrorLogServiceChargeBL.InsertErrorLogServiceCharge(Respuesta.EstatusTransaccion, Respuesta.MensajeAmistoso, Respuesta.NumeroAutorizacion, Respuesta.NumeroOperacion); if (Respuesta.EstatusTransaccion == "Error" || Respuesta.EstatusTransaccion == "Denegada") { char[] caracterSeparador = { '.' }; String[] sErrorCorto = Respuesta.MensajeAmistoso.Split(caracterSeparador, StringSplitOptions.RemoveEmptyEntries); String sErrorParteDos = String.Empty; if (sErrorCorto.Length > 1) { sErrorParteDos = "Transacción rechazada. " + sErrorCorto[1].Trim();; } else { sErrorParteDos = Respuesta.MensajeAmistoso; } tarjeta.Pagado = false; tarjeta.MensajeError = sErrorParteDos; return; } else { tarjeta.Pagado = true; tarjeta.NumeroAutorizacion = item.sNumAutorizacion; tarjeta.NumeroOperacion = item.sNumOperacion; } } catch (Exception ex) { tarjeta.Pagado = false; tarjeta.MensajeError = "Error al intentar conectar con MIT"; try { new EventsManager.EventsManager(ex, EventsManager.EventsManager.OrigenError.CapaDePresentacion); } catch (Exception) { new EventsManager.EventsManager(System.Diagnostics.EventLogEntryType.Error, ex); } return; } } else { LogCxSHotelBL logCxSHotelBL = new LogCxSHotelBL(); logCxSHotelBL.InserLogCxSHotel(tarjeta.PNR, string.Empty, 85, Respuesta.NumeroAutorizacion, Respuesta.NumeroOperacion, tarjeta.NumeroTarjeta, tarjeta.TipoTarjeta, Convert.ToDecimal(tarjeta.MontoCargo)); } tarjeta.Activo = false; /* * foreach (var tarjeta in lstDatosTarjeta2) * { * if (tarjeta.TipoTarjeta.Equals("CCAC") || tarjeta.TipoTarjeta.Equals("CCPV") || tarjeta.TipoTarjeta.Equals("CCTD")) * { * try * { * LogServiceFee item = new LogServiceFee(); * String sNombreTransaccion = string.Empty; * TransaccionesTarjetaNPService Tran = new TransaccionesTarjetaNPService(); * int iNumeroIntento = 0; * // Se guarda en LogServiceFee la respuesta * item = new LogServiceFee * { * id = sNombreTransaccion, * sCodigoTarjeta = tarjeta.CodigoSeguridad, * sNumTarjeta = tarjeta.NumeroTarjeta, * sMesVencimiento = tarjeta.MesVencimiento, * sAnioVencimiento = tarjeta.AnioVencimiento, * sBanco = tarjeta.TipoTarjeta, * sMonto = tarjeta.MontoCargo.ToString(), * dtDate = DateTime.Now, * sBoletos = tarjeta.Ticket, * sRemarks = String.Empty, * sRecLoc = recLoc * }; * * // se harcodea el valor del orgId al de CTS, cambiar para cuando se integren mas empresas * * item.id = sNombreTransaccion = "MyCTS-" + tarjeta.OrigenVenta + "-" + tarjeta.PNR + "_"; * * Respuesta = Pagar(ref item, tarjeta.NombreTitular, tarjeta, 1, iNumeroIntento); * * if (Respuesta.EstatusTransaccion == "Error" || Respuesta.EstatusTransaccion == "Denegada") * { * char[] caracterSeparador = { '.' }; * String[] sErrorCorto = Respuesta.MensajeAmistoso.Split(caracterSeparador, StringSplitOptions.RemoveEmptyEntries); * String sErrorParteDos = String.Empty; * if (sErrorCorto.Length > 1) * { * sErrorParteDos = "Transacción rechazada. " + sErrorCorto[1].Trim(); ; * } * else * { * sErrorParteDos = Respuesta.MensajeAmistoso; * } * tarjeta.Pagado = false; * tarjeta.MensajeError = sErrorParteDos; * return; * } * else * { * tarjeta.Pagado = true; * tarjeta.NumeroAutorizacion = item.sNumAutorizacion; * tarjeta.NumeroOperacion = item.sNumOperacion; * } * } * catch (Exception ex) * { * tarjeta.Pagado = false; * tarjeta.MensajeError = "Error al intentar conectar con MIT"; * try * { * new EventsManager.EventsManager(ex, EventsManager.EventsManager.OrigenError.CapaDePresentacion); * } * catch (Exception) * { * new EventsManager.EventsManager(System.Diagnostics.EventLogEntryType.Error, ex); * } * return; * } * } * else * { * LogCxSHotelBL logCxSHotelBL = new LogCxSHotelBL(); * logCxSHotelBL.InserLogCxSHotel(tarjeta.PNR, string.Empty, 85, Respuesta.NumeroAutorizacion, Respuesta.NumeroOperacion, tarjeta.NumeroTarjeta, tarjeta.TipoTarjeta, Convert.ToDecimal(tarjeta.MontoCargo)); * } * * tarjeta.Activo = false; * } */ lstListaFiltrada = FiltrarLista(lstDatosTarjeta); MandarDin(lstListaFiltrada); return; }