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(pagamentoResult); }
public Pagamento RealizarPagamento(Pedido pedido, Pagamento pagamento) { pagamento.Valor = pedido.Produtos.Sum(p => p.Valor); Console.WriteLine("Iniciando pagamento via Transferencia - valor R$ {0}", pagamento.Valor); if (_pagamentoTransferenciaFacade.RealizarPagamento(pedido, pagamento)) { pagamento.Status = "Sucesso no pagamento via transferencia"; return(pagamento); } pagamento.Status = "Erro ao efetuar pagamento via transferencia"; return(pagamento); }
public Pagamento RealizarPagamento(Pedido pedido, Pagamento pagamento) { pagamento.Valor = pedido.Produtos.Sum(p => p.Valor); Eventos.Adicionar($"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 Executar() { var produtos = new List <Produto>() { new Produto("Tenis adidas", new Random().Next(500)), new Produto("Camisa boliche", new Random().Next(500)), new Produto("Raquete tenis", new Random().Next(500)), }; var pedido = new Pedido() { Id = Guid.NewGuid(), Produtos = produtos }; var cartao = new Pagamento() { CartaoCredito = "1234 1324 4546 45457", }; var transferencia = new Pagamento(); var boleto = new Pagamento(); var pedidoBoleto = new PedidoService(PagamentoFactory.CreatePagamento(MeioPagamento.Boleto)); var resBoleto = pedidoBoleto.RealizarPagamento(pedido, boleto); Console.WriteLine(resBoleto.Status); var pedidoCartao = new PedidoService(PagamentoFactory.CreatePagamento(MeioPagamento.CartaoCredito)); var resCartao = pedidoCartao.RealizarPagamento(pedido, cartao); Console.WriteLine(resCartao.Status); var pedidoTransferencia = new PedidoService(PagamentoFactory.CreatePagamento(MeioPagamento.Transferencia)); var resTransf = pedidoTransferencia.RealizarPagamento(pedido, transferencia); Console.WriteLine(resTransf.Status); }
public Pagamento RealizarPagamento(Pedido pedido, Pagamento pagamento) { return(_pagamento.RealizarPagamento(pedido, pagamento)); }