Olá, David, como vai?
Seu código utiliza a estrutura switch de forma funcional para diferenciar os estados de pagamento, garantindo que o fluxo seja interrompido corretamente pelo uso do break em cada caso. No entanto, existe uma divergência entre a sua implementação e os requisitos do exercício quanto ao tratamento do status recusado.
Da forma como foi escrito, qualquer valor que não seja pendente ou aprovado resultará na mensagem de pagamento recusado, o que pode incluir erros de digitação ou campos vazios. O ideal para este cenário é tratar o status recusado em um caso específico e utilizar o default para sinalizar uma entrada inválida ou desconhecida.
Parabéns por realizar o exercício e por compartilhar sua lógica com a comunidade. Continue praticando o uso de estruturas de seleção e sinta-se convidado a postar seus próximos projetos para continuarmos evoluindo juntos.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!