public async Task <DataPse> PagoPSE(ContratoPSE contratoPSE) { List <ProdSerXVendidosPed> listaPedido = _pEFachada.GetProductosPedidosPorIdPedido(contratoPSE.IdPedido); DemografiaCor demografiaComprador = _cOGeneralFachada.GetDemografiaPorId(contratoPSE.IdDemografiaComprador); TipoDocumentoCor documentoComprador = _cOGeneralFachada.GetTipoDocumentoPorId(demografiaComprador.Tipodocumentocorid); List <ProductosServiciosPc> productos = new List <ProductosServiciosPc>(); for (int i = 0; i < listaPedido.Count; i++) { ProductosServiciosPc producto = await _cOFachada.GetPublicacionPorIdPublicacion(listaPedido[i].Idproductoservico); productos.Add(producto); } return(await _fAFacturaBiz.PagoPSE(contratoPSE, listaPedido, demografiaComprador, documentoComprador, productos)); }
public async Task <DataPse> PagoPSE([FromBody] ContratoPSE contratoPSE) { DataPse respuesta = null; try { respuesta = await _fAFachada.PagoPSE(contratoPSE); } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine(e.InnerException); Console.WriteLine(e.StackTrace); } return(respuesta); }
public async Task <DataPse> PagoPSE(ContratoPSE contratoPSE, List <ProdSerXVendidosPed> listaPedido, DemografiaCor demografiaComprador, TipoDocumentoCor documentoComprador, List <ProductosServiciosPc> productos) { int?total = 0; foreach (ProdSerXVendidosPed p in listaPedido) { total += p.Preciototal; } //TODO Hay que cambiar estos y parametrizarlos var comision = total * 0.01; var checkOut = total + comision + 2380; total = (int?)checkOut; String uuid = Guid.NewGuid().ToString(); PseModel response = epayco.BankCreate( COEpayco.CODIGO_BANCARIO[contratoPSE.Banco], uuid, // ID de factura "Pedido numero " + contratoPSE.IdPedido.ToString(), total.ToString(), "0", "0", "COP", "0", // 0 para persona, 1 para comercio documentoComprador.Codigo, demografiaComprador.Numerodocumento.ToString(), demografiaComprador.Nombre, demografiaComprador.Apellido, demografiaComprador.Email, "CO", demografiaComprador.Telefono.ToString(), "url_response", "url_confirmation", "method_confirmation" ); if (response.success) { return(response.data); } return(null); }