public AutorizacaoTransacaoResposta ObterAutorizacao(AutorizacaoTransacaoPedido pedido) { var resposta = new AutorizacaoTransacaoResposta(); // Verifica o valor para autorização // Valor até 1000: Autorizado if (pedido.Valor <= 1000) { resposta.CodigoDeAutorizacao = Guid.NewGuid(); resposta.TransacaoStatusAutorizacao = AutorizacaoTransacaoStatus.Autorizado; } //Valor de 1001 até 2000: Não Autorizado else if ((pedido.Valor > 1000) && (pedido.Valor <= 2000)) { resposta.TransacaoStatusAutorizacao = AutorizacaoTransacaoStatus.NaoAutorizado; } //Valor de 2001 até 3000: Não Autorizado else if ((pedido.Valor > 2000) && (pedido.Valor <= 3000)) { resposta.TransacaoStatusAutorizacao = AutorizacaoTransacaoStatus.TransacaoComErroDeProcessamento; } //Valor de 3001 até42000: Não Autorizado else if ((pedido.Valor > 3000) && (pedido.Valor <= 4000)) { resposta.TransacaoStatusAutorizacao = AutorizacaoTransacaoStatus.PendenteDeCaptura; } else { resposta.TransacaoStatusAutorizacao = AutorizacaoTransacaoStatus.Erro; } resposta.ChaveDaTransacao = pedido.ChaveDaTransacao; return resposta; }
public void IniciarTestes() { _transacaoService = new AutorizacaoTransacaoService(); _transacaoPedido = new AutorizacaoTransacaoPedido { //Dados da transação Descricao = "Teste", NumeroDeParcelas = 1, Valor = 300.0, DataDaTransacao = DateTime.Now, //Dados do cartão de crédito CartaoDeCredito = new CartaoDeCredito() { Numero = "85641754852221458", Bandeira = Bandeira.Mastercard, Nome = "Eduardo Souza", CodigoDeSeguraca = "123", AnoDeExpiracao = 2020, MesDeExpiracao = 7 }, //Dados do comprador Comprador = new Comprador { CompradorId = 1, Nome = "Teste", Email = "*****@*****.**", Endereco = new Endereco { Logradouro = "Rua: Dom gerardo", Numero = "720", Complemento = "", Bairro = "Centro", Cep = "23045-160", Municipio = "Rio de janeiro", Estado = "RJ" }, }, CarrinhoDeCompras = new CarrinhoDeCompras { Items = new List<Item>() { new Item() { ItemId = 1, Nome = "Livro", Descricao = "Livro MVC4", Valor = 150.0, ValorTotal = 300.0, Quantidade = 2 } } }, }; }
public IHttpActionResult GetAutorizacao(AutorizacaoTransacaoPedido pedido) { try { if (pedido == null) return BadRequest(); _iAutorizacaoTransacaoPedidoDataService.Add(pedido); var resposta = _autorizacaoTransacaoService.ObterAutorizacao(pedido); if (resposta != null) { return Ok(resposta); } return NotFound(); } catch (Exception ex) { return InternalServerError(ex); } }