Skip to content

phaalonso/tools-challenge-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tools Java Challenge

  • Está sendo utilizado o pacote spring-boot-docker-compose para facilitar configuração do projeto
    • containers estão definidos no compose.yaml, ao iniicar o spring, o plugin já deve iniciar os containers junto

Requerimentos:

  • Cadastro de uma transação

  • Estorno de uma transação

  • Consulta

  • Validação dos campos

  • Implementação de testes

    • Testcontainers para realização de teste integrado
    • Criação de uma nova transação
    • Não permite duplicar a transação
    • Endpoint de consulta
    • Validar todos os campos
  • Transação

    • ID unico
    • status
      • AUTORIZADO (pagamento)
      • CANCELADO (estorno)
    • forma pagamento "AVISTA" / "PAGAMENTO LOJA" / "PARCELADO EMISSOR"
### Cria transação
POST http://localhost:8080/transacao
Content-Type: application/json

{
  "cartao": "************8321",
  "id": "134569213",
  "descricao": {
    "valor": "100.00",
    "dataHora": "06/08/2024 23:30:00",
    "estabelecimento": "Posto Aldo"
  },
  "formaPagamento": {
    "tipoPagamento": "AVISTA",
    "parcelas": 1
  }
}

<> Response
{
  "cartao": "************8321",
  "id": "1345692113",
  "descricao": {
    "valor": "100.00",
    "dataHora": "06/08/2024 23:30:00",
    "estabelecimento": "Posto Aldo",
    "nsu": "123456789",
    "codigoAutorizacao": "123102983",
    "status": "AUTORIZADO"
  },
  "formaPagamento": {
    "tipoPagamento": "AVISTA",
    "parcelas": 1
  }
}

### Consulta transaçao
GET http://localhost:8080/transacao/1345692113

<> Response
{
  "cartao": "************8321",
  "id": "1345692113",
  "descricao": {
    "valor": "100.00",
    "dataHora": "06/08/2024 23:30:00",
    "estabelecimento": "Posto Aldo",
    "nsu": "123456789",
    "codigoAutorizacao": "123102983",
    "status": "AUTORIZADO"
  },
  "formaPagamento": {
    "tipoPagamento": "AVISTA",
    "parcelas": 1
  }
}

### Realiza estorno
POST http://localhost:8080/transacao/estornar/1345692113

<> Response
{
  "cartao": "************8321",
  "id": "1345692113",
  "descricao": {
    "valor": "100.00",
    "dataHora": "06/08/2024 23:30:00",
    "estabelecimento": "Posto Aldo",
    "nsu": "123456789",
    "codigoAutorizacao": "123102983",
    "status": "CANCELADO"
  },
  "formaPagamento": {
    "tipoPagamento": "AVISTA",
    "parcelas": 1
  }
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages