Rejeição 813: QR-Code com sequência de escape para o e-comercial. Usar CDATA

Descrição oficial da SEFAZ: QR-Code com sequência de escape para o e-comercial. Usar CDATA

O que significa

O QR-Code foi montado com sequência de escape para o e-comercial (&) em vez de CDATA.

Por que acontece

A URL do QR-Code tem & separando parâmetros; ao gravar no XML, a rotina escapou o caractere em vez de envolver o conteúdo em CDATA.

Como resolver

Envolva o conteúdo do QR-Code em CDATA, conforme o manual, em vez de escapar o e-comercial.

Como evitar

Use a rotina de serialização do XML que já trata CDATA nesse campo, sem montar a string à mão.