public bool RealizarPagamento(Pedido pedido, Pagamento pagamento)
        {
            var apiKey        = configManager.GetValue("apiKey");
            var encriptionKey = configManager.GetValue("encriptionKey");

            var serviceKey  = payPalGateway.GetPayPalServiceKey(apiKey, encriptionKey);
            var cardHashKey = payPalGateway.GetCardHashKey(serviceKey, pagamento.CartaoCredito);

            var pagamentoResult = payPalGateway.CommitTransaction(cardHashKey, pedido.Id.ToString(), pagamento.Valor);

            return(true);
        }
        public Pagamento RealizarPagamento(Pedido pedido, Pagamento pagamento)
        {
            pagamento.Valor = pedido.Produtos.Sum(p => p.Valor);
            Console.WriteLine("Iniciando Pagamento via Cartão de Crédito - Valor R$ " + pagamento.Valor);

            if (pagamentoCartaoCreditoFacade.RealizarPagamento(pedido, pagamento))
            {
                pagamento.Status = "Pago via Cartão de Crédito";
                return(pagamento);
            }

            pagamento.Status = "Cartão de Crédito Recusado!";
            return(pagamento);
        }
示例#3
0
        public static void Execute()
        {
            var produtos = new List <Produto>()
            {
                new Produto {
                    Id = Guid.NewGuid(), Descricao = "Alcool Gel 70 vol.", Valor = 15.01M
                },
                new Produto {
                    Id = Guid.NewGuid(), Descricao = "Mascara Especial", Valor = 27.35M
                },
                new Produto {
                    Id = Guid.NewGuid(), Descricao = "Roupa Especial", Valor = 150.50M
                },
            };

            var pedido = new Pedido(produtos)
            {
                Id         = new Random().Next(999999999),
                DataPedido = DateTime.Now,
                Valor      = 0.0M
            };

            var pagamento = new Pagamento(pedido, MeioPagamento.CartaoCredito)
            {
                CartaoCredito = new CartaoCredito
                {
                    NomeTitular     = "Fulano de Tal", //Faltou Bandeiras (Visa, AMEX, Dinners, etc)
                    NumeroCartao    = "1111-1111-1111-1111",
                    DataValidadeMes = "01",
                    DataValidadeAno = "30",
                    CodigoSeguranca = "123"
                }
            };

            //Resolver com Injeção de Dependência
            var pagamentoService = new PedidoService(new PagamentoCartaoCreditoFacade(pagamento));
            var pagamentoResult  = pagamentoService.RealizarPagamento(pedido, pagamento);
        }