Closed ronaldofl closed 3 years ago
Já tentou gerar na versão live/demo disponível no site?
O QR code abaixo é lido no aplicativo do banco?
O código pix copia-e-cola do qr code acima é:
00020126580014BR.GOV.BCB.PIX0136928de119-2645-4acb-863f-6d46021ffdd452040000530398654040.005802BR5923RONALDO FORTUNATO LOPES6009SAO PAULO63048131
Qual a pix copia-e-cola do código que você gerou e foi recusado?
O aplicativo do banco recusou esse QR Code assim como recusou o do meu teste.
Este é o copia-e-cola gerado e recusado no meu teste: 00020126580014BR.GOV.BCB.PIX0136928de119-2645-4acb-863f-6d46021ffdd452040000530398654041.005802BR5923Ronaldo Fortunato Lopes6010São Paulo63041D56
Testei também com o copia-e-cola do seu teste que é este: 00020126580014BR.GOV.BCB.PIX0136928de119-2645-4acb-863f-6d46021ffdd452040000530398654040.005802BR5923RONALDO FORTUNATO LOPES6009SAO PAULO63048131
Também foi recusado. Todos os testes foram feitos na versão live.
Teste esse:
00020126580014BR.GOV.BCB.PIX0136928de119-2645-4acb-863f-6d46021ffdd452040000530398654040.005802BR5923RONALDO FORTUNATO LOPES6009SAO PAULO62410503***50300017BR.GOV.BCB.BRCODE01051.0.06304979B
Esse funcionou.
O problema está relacionado ao valor? Notei que esse pix parece não passar o valor no copia-e-cola.
A questão do valor não interfere, pois se trata de um campo facultativo. Se o valor não tiver especificado no código o cliente final que irá informar no próprio aplicativo.
Eu acrescentei o identificador ***
e os campos adicionais (62) necessários quando se usa identificador. Você pode testar na versão live/demo basta preencher o último campo do formulário com três asteriscos.
Você também pode dar uma olhada no decodificador e ver todos os campos que estão lá. Mas basicamente é o que está comentado nessas linhas: https://github.com/renatomb/php_qrcode_pix/blob/865a7d65c50b946976660528e9aa60869d0267c6/exemplo.php#L38-L43
Uma vez que se trata de um campo facultativo eu já vi alguns aplicativos de banco (ex.: banco inter, next, santander) convencionarem de usar o ***
como identificador na ausência desse. Mas eu não vi isso descrito como necessário em nenhuma documentação que tive acesso, por isso deixei essa parte do código comentada no exemplo.
Conforme eu esperava, também deu certo no meu teste. Muito obrigado pela ajuda.
Uma última dúvida: No site da demo tem esse aviso: "Se a conta destino for do Banco Itaú não utilize o identificador ou o pix poderá ser recusado."
Sabe se mesmo passando o identificador como *** esse problema ainda ocorre? Provavelmente só testando para saber, certo?
O Itaú literalmente implica com qualquer identificador que não tenha sido gerado no aplicativo deles. Ele recusa a transação e o pix não conclui.
Se você gerar no aplicativo deles eles atribuem um identificador aleatório e salvam no backend deles. De modo que só aceitam os pagamentos para aqueles identificadores previamente cadastrados.
Nos testes que eu fiz com o ***
funcionou normal também. Mas só tenho uma conta pf lá, o que limita os testes que posso fazer.
Acompanhei o caso de uma outra pessoa que estava com dificuldades com aquele banco e, no final, descobrimos que é necessário solicitar ao gerente da conta para habilitar a conta para receber pix usando qr code gerado fora do aplicativo. Veja este issue.
Dei uma boa lida na thread. O cliente para quem vamos implementar utiliza justamente o Itaú.
Vou realizar um teste com a conta PJ do cliente e se der problema já sei como prosseguir. Muito obrigado mesmo.
Testei o código com o aplicativo SICOOB, mas não funcionou. O QR Code foi gerado normalmente, mas ao ler com o aplicativo do banco a mensagem que obtenho é "Código inválido. Confime os dados com o emissor e tente novamente."
Já testei com todas as chaves PIX que possuo e todas deram este erro. Vou deixar minha chave PIX aleatória, para facilitar testes: 928de119-2645-4acb-863f-6d46021ffdd4 Poderia me ajudar?