Skip to content

Latest commit

 

History

30 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Payments Api

Java Spring


Descrição

API de pagamentos de débitos de pessoas físicas e jurídicas, possibilitando a criação, edição e busca de pagamentos (incluso filtro)

Features

  • Criar novo pagamento
  • Listar todos os pagamentos
  • Filtrar busca de pagamentos
  • Editar status do pagamento
  • Deletar um pagamento

Documentação da API

Pagamento

Criar novo pagamento

POST /api/v1/payments
Request:
Body Tipo Descrição
debitCode int Obrigatório. Código do débito sendo pago
payerCpfCnpj string Obrigatório. CPF/CNPJ do pagador
paymentMethod string Obrigatório. Método de pagamento
cardNumber string Número do cartão
paymentValue int Obrigatório. Valor do pagamento

paymentValue deve ser enviado em centavos

Listar todos os pagamentos

GET /api/v1/payments
Response:
  • Response 200 (application/json)

    • Body

        {
          "data": [
            {
              "id": "a7e0b9c6-07a7-451d-b5a5-296dcbbc3b2c",
              "debitCode": 1,
              "payerCpfCnpj": "12312312312",
              "paymentMethod": "cartao_credito",
              "cardNumber": "12345678901232456",
              "paymentValue": 8000,
              "status": "Pendente de Processamento",
              "createdAt": "2024-02-19T15:14:16.443218",
              "updatedAt": "2024-02-19T15:14:16.443231"
            },
            {
              "id": "11784194-6ef0-4038-ad2b-18276b02c401",
              "debitCode": 2,
              "payerCpfCnpj": "12312312312",
              "paymentMethod": "cartao_credito",
              "cardNumber": "12345678901232456",
              "paymentValue": 1,
              "status": "Processado com Sucesso",
              "createdAt": "2024-02-19T15:31:05.189453",
              "updatedAt": "2024-02-19T15:31:05.189467"
            },
          ]
        }
      

Filtrar busca de pagamentos

GET /api/v1/payments?queryParams
Todos os filtros de buscas
queryParams Tipo Descrição
debitCode int Código do débito sendo pago
payerCpfCnpj string CPF/CNPJ do pagador
status string Status do pagamento

status pode ser "Pendente de Processamento" | "Processado com Sucesso" | "Processado com Falha"

Response:
  • Response 200 (application/json)

    • Body

        {
          "data": [
            {
              "id": "a7e0b9c6-07a7-451d-b5a5-296dcbbc3b2c",
              "debitCode": 1,
              "payerCpfCnpj": "12312312312",
              "paymentMethod": "cartao_credito",
              "cardNumber": "12345678901232456",
              "paymentValue": 8000,
              "status": "Pendente de Processamento",
              "createdAt": "2024-02-19T15:14:16.443218",
              "updatedAt": "2024-02-19T15:14:16.443231"
            },
            {
              "id": "11784194-6ef0-4038-ad2b-18276b02c401",
              "debitCode": 2,
              "payerCpfCnpj": "12312312312",
              "paymentMethod": "cartao_credito",
              "cardNumber": "12345678901232456",
              "paymentValue": 1,
              "status": "Processado com Sucesso",
              "createdAt": "2024-02-19T15:31:05.189453",
              "updatedAt": "2024-02-19T15:31:05.189467"
            },
          ]
        }
      

Editar status do pagamento

PUT /api/v1/payments/{id}

id Identificador único do pagamento a ser editado

Request:
Body Tipo Descrição
status string Obrigatório. Novo status do pagamento

status deve ser enviado "PENDENT" | "APPROVED" | "DENIED"

Response:
  • Response 200 (application/json)

    • Body

        {
          "id": "11784194-6ef0-4038-ad2b-18276b02c401",
          "debitCode": 2,
          "payerCpfCnpj": "12312312312",
          "paymentMethod": "cartao_credito",
          "cardNumber": "12345678901232456",
          "paymentValue": 1,
          "status": "Processado com Sucesso",
          "createdAt": "2024-02-19T15:31:05.189453",
          "updatedAt": "2024-02-19T15:31:05.189467"
        }
      

Deletar um pagamento

DELETE /api/v1/payments/{id}

id Identificador único do pagamento a ser deletado

Response:
  • Response 204

Rodar o projeto localmente

​ Clone o projeto

  git clone https://github.com/andreseichi/payments-api-java

Abre o projeto ​

  cd payments-api-java/

Faça o build

  mvn clean install

Roda a aplicação

  mvn spring-boot:run

Importe o json Insomnia-All.json com as collections no Insomnia para fazer as requests para a API

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages