Listagem de transações de estabelecimento

Validações de Parâmetros de Busca
Este código realiza validações em parâmetros de busca fornecidos em requisições. Abaixo estão as validações principais e como elas são tratadas:

Parâmetros Validados

  1. Intervalo de Valores (valor_de e valor_ate)
    Descrição: Valida se o valor mínimo (valor_de) não é maior que o valor máximo (valor_ate).
    Exceção: "Valor final não pode ser maior que o valor inicial".
  2. Forma de Pagamento (forma_pagamento)
    Descrição: Valida se a forma de pagamento está entre as opções permitidas:
    credit (Cartão de Crédito)
    debit (Cartão de Débito)
    boleto (Boleto Bancário)
    Exceção: "Forma de pagamento inválida".
  3. Status da Transação (status)
    Descrição: Verifica se o status está entre os valores aceitos:
    new, pending, pre_authorized, succeeded, failed, reversed, canceled, refunded, dispute, charged_back
    Exceção: "Status inválido".
  4. Período de Data (data_inicial e data_final)
    Descrição:
    Se a busca é feita por um período de tempo, data_final é obrigatória.
    Valida se data_inicial não é maior que data_final.
    Exceções:
    "Data final obrigatória em busca por período"
    "A data final não pode ser maior que a inicial"
  5. Paginação (page)
    Descrição: Define a página da busca. Se não fornecido, o valor padrão é 1.
    Geração da Query String
    Dependendo dos parâmetros fornecidos (data_inicial, data_final, status, forma_pagamento), o código gera uma string de requisição para a API.

Combinações de Parâmetros Suportadas:
Filtro Completo: data_inicial, data_final, status, e forma_pagamento.
Filtro por Status e Período: data_inicial e status.
Filtro por CPF/CNPJ: Caso o cpf_cnpj seja fornecido, é gerada uma query específica.
Filtro Padrão: Se nenhum parâmetro é fornecido, o código gera um filtro baseado na data atual.
Tratamento de Erros
Em caso de parâmetros inválidos ou ausência de valores obrigatórios, são lançadas exceções com mensagens claras para facilitar o diagnóstico:

Erros Tratados:
Parâmetros inconsistentes (ex.: valor_de > valor_ate)
Datas inválidas (data_inicial > data_final)
Falta de parâmetros obrigatórios (data_final em buscas por período)

Language
Credentials
OAuth2
Click Try It! to start a request and see the response here!