Para qr code dinâmico sim, é obrigatório
Já para qr code estático não, pois o qr code estático não é vinculado a nenhuma cobrança
Para o que você está tentando fazer dar certo, você deveria gerar um qr code estático com no máximo 25 caracteres ao invés dos 28 que você está usando, pagá-lo e depois consultar, mas em outra rota GET /v2/pix/{e2eId}
Note que a consulta é pelo e2eID e não pelo txid
Termos mais procurados: