esse seu qr tá com o campo 54 preenchido apenas com 00 (pq sua variável de preço tá zerada, provavelmente). quando for assim, é melhor passar 54040.00 (o manual brcode admitiria 54010 também, mas tem banco que não sabe ler documentação e recusa assim!) ou omitir o campo (o que também não recomendo, pois o manual do Pix não menciona a possibilidade de omissão (documenta apenas no manual do brcode) e não testei extensivamente, provável que alguns bancos recussem se omitido, também).