Olá, Ricardo!
Entendo sua dúvida sobre como lidar com erros em tempo real no caso de uma transação com chave inválida. No exemplo do Pix no curso, a transação é abortada e a mensagem de erro é lançada na tela do aplicativo em tempo real. Porém, como podemos tratar essa situação quando o consumidor (consumer) lançar algum erro?
Uma forma de lidar com essa situação é notificar a API que chamou, informando os detalhes do erro. Assim, a API poderá informar o usuário que a transação não pôde ser realizada devido à chave inválida. Para fazer isso, você pode implementar um mecanismo de tratamento de erros na sua aplicação.
Por exemplo, você pode utilizar um mecanismo de exceções para capturar o erro lançado pelo consumer e, em seguida, enviar uma notificação para a API. Essa notificação pode conter os detalhes do erro, como a chave inválida. A API, por sua vez, pode tratar essa notificação e exibir uma mensagem adequada para o usuário.
No entanto, é importante ressaltar que a implementação exata desse mecanismo de tratamento de erros pode variar dependendo da sua arquitetura e das tecnologias utilizadas. Recomendo que você consulte a documentação da sua plataforma e frameworks para obter mais informações sobre como implementar esse tipo de funcionalidade.
Espero ter ajudado e bons estudos!