private OperationResponse PagoTCMM(FinalizarVentaRequest request) { OperationResponse response = new OperationResponse(); response.CodeNumber = "1"; VentaResponse venta = this.repository.ObtenerVentaPorFolio(request.FolioVenta, 0); foreach (LineaTicket linea in venta.Lineas) { if (linea.TipoDetalleVenta == "46") { PagoTCMMRequest pago = new PagoTCMMRequest(); pago.ModoEntrada = 12; pago.NumeroCaja = token.CodeBox; pago.NumeroTienda = token.CodeStore; pago.Transaccion = venta.NumeroTransaccion; pago.Importe = linea.Articulo.PrecioConImpuestos; pago.NumeroTarjeta = linea.Articulo.InformacionPagoTCMM.NumeroTarjeta; response = new MelodyMilanoBusiness(this.token).RealizarPago(pago); if (response.CodeNumber == "1") { OperationResponse operationResponseAutoriacion = this.repository.RegistrarAutorizacionPagoTCMM(request.FolioVenta, pago.NumeroTarjeta, response.CodeDescription); } } } return(response); }
/// <summary> /// Método para realizar un pago a una TCMM /// </summary> /// <param name="request">Objeto petición con información de Pago TCMM asociada</param> /// <returns></returns> public ResponseBussiness <OperationResponse> RealizarPago(PagoTCMMRequest request) { return(tryCatch.SafeExecutor(() => { OperationResponse operationResponse = new OperationResponse(); InfoService infoService = new InfoService(); operationResponse.CodeNumber = "0"; InformacionServiciosExternosBusiness informacionServiciosExternosBusiness = new InformacionServiciosExternosBusiness(); //NOTA: Unicamente se manda a llamar la URL ya que en el web.config se tiene como keys, y no se esta conectando el servicio mediante vs infoService = informacionServiciosExternosBusiness.ObtenerCadenaServicioExterno(10); var cadenaURL = infoService.UrlService; HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create(cadenaURL); //webrequest.Headers.Add ("Authorization","Basic dXNybW13czpNMWw0bjAqMjAxOA=="); webrequest.Headers.Add("Authorization", credenciales.Licence); webrequest.Method = "POST"; webrequest.ContentType = "application/json"; using (var streamWriter = new StreamWriter(webrequest.GetRequestStream())) { string json = "{\"User\":\"" + credenciales.UserName + "\"," + "\"Pwd\":\"" + credenciales.Password + "\"," + "\"CardId\":\"" + request.NumeroTarjeta + "\"," + "\"BranchId\":\"" + request.NumeroTienda + "\"," + "\"TerminalNumber\":\"" + request.NumeroCaja + "\"," + "\"VoucherNumber\":\"" + request.Transaccion + "\"," + "\"TransactionAmount\":\"" + request.Importe + "\"," + "\"EntryMode\":\"" + request.ModoEntrada + "\"}"; streamWriter.Write(json); streamWriter.Flush(); streamWriter.Close(); } var httpResponse = (HttpWebResponse)webrequest.GetResponse(); using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { var result = streamReader.ReadToEnd(); dynamic resultadoTemporal = JsonConvert.DeserializeObject(result); if (resultadoTemporal.ErrorCode == 0) { operationResponse.CodeNumber = "1"; operationResponse.CodeDescription = resultadoTemporal.Response; } else { operationResponse.CodeDescription = resultadoTemporal.Message; } } return operationResponse; })); }