Histórico de mensagens em pix

EXIBINDO CONVERSAS RECENTES:

Canal: pix
Avatar discord do usuario anoni_mato

anoni_mato

isso aí ele já tá fazendo certo

Avatar discord do usuario rubenskuhl

rubenskuhl

E a pegadinha do mallandro no final é calcular o CRC incluindo os caracteres 63 04 que indicam que é o CRC com 4 caracteres.

Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

não vou dar código pronto, mas vou dar uma dica: monta um array único, com todos os dados que a string tem que ter (use como chave os ids dos templates). os templates que tiverem múltiplos campos dentro (26 e 62), devem ter 1 array como elemento (com os campos internos, novamente usando os ids como chave). depois, faz um laço no array externo e vai montando a string com tudo que encontrar (e não for uma string vazia).

Avatar discord do usuario rubenskuhl

rubenskuhl

Troca para if $tipo diferente de dinamico que dá quase certo... mas no dinâmico, ou no estático sem txid, tem que ter o .

Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

Exato era isso que ia dizer, estava indoidando exatamente neste id 62 de novo if ($tipo === "dinamico") {
$aditional_data_field_template = '05' . preencheCampo($payload["txid"]); // [opcional] Identificador da transação.
$payloadBrCode .= '62' . preencheCampo($aditional_data_field_template);
}

Avatar discord do usuario rubenskuhl

rubenskuhl

Pois o 62 05 de dinâmico tem que ter

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Só por isso aqui já deu pra ver que está errado:
if ($tipo === "dinamico") {
$aditional_data_field_template = '05' . preencheCampo($payload["txid"]); // [opcional] Identificador da transação.
$payloadBrCode .= '62' . preencheCampo($aditional_data_field_template);
}

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Sim, mas eu vi que isso já venho de mais cedo e já mudou... o EMV do momento ainda não valida lá ?

Avatar discord do usuario rubenskuhl

rubenskuhl

Então 62070503 quer dizer campo 62 com 7 caracteres depois, aí o sub-campo 05 com 3 caracteres depois, e o que é o identificador para sem TxID e para TxID no payload

Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

Lembra que conversamos sobre as validações no nascent ?

Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

ok, coloco sim o tamanho antes 🙂

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Pq o primeiro após o campo e o tamanho total de que vem depois, tenha ou não sub campos...

Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

Interessante, colocando o 05 o nascent não valida .

Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

se você vai lidar só com dinâmicos, é só passar 0503 como valor do txid na sua função de montagem, do jeito que ela está agora, que ela vai montar 62070503 certinho.. ajuste técnico (gambiarra) funcional

Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

ok, estou vendo aqui na montagem para coloca ele de novo, retirei completo apenas para ver se validava. Está assim agora $payloadBrCode .= '62' . preencheCampo("");

Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

mas o campo 62 é obrigatório pelo manual BR Code, por mais que seja desnecessário. então tem banco que não aceita se esse campo faltar

Avatar discord do usuario oleoessencial

oleoessencial

Eu até já tinha falado neste bendito do campo 62 aqui.

Avatar discord do usuario oleoessencial

oleoessencial

> 00020126880014br.gov.bcb.pix2566qrcodes-pix.gerencianet.com.br/v2/377641a05ed04f70bc6f4f677674b27652040000530398654040.015802BR5922NOME DO RECEBEDOR AQUI6011Caixa Prego6108010801506304626F finalmente agora validou . Retirei o campo 62 completo, kkkkkkkkkk