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); }
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); }