Example #1
0
        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));
        }
Example #2
0
        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);
        }