Ir para conteúdo
  • Cadastre-se

dev botao

Erro PIX - PIXCD_GerarQRCodeEstatico


Ver Solução Respondido por EliasCesar,

Recommended Posts

  • Membros Pro
Postado

Boa tarde.

O que mais devo passar para o PIXCD_GerarQRCodeEstatico além do "txId" e "valor"?

Gerei um método onde a sequencia é (exibo abaixo apenas os mais importantes):
ACBrPixLib.
INSTANCE.PIXCD_Inicializar(eArqConfig, eChaveCrypt);
ACBrPixLib.
INSTANCE.PIXCD_ConsultarCobrancaImediata(toUTF8(ATxId), ARevisao, buffer, bufferLen);

ACBrPixLib.INSTANCE.PIXCD_GerarQRCodeEstatico(AValor, toUTF8(AinfoAdicional), toUTF8(ATxID), bufferbufferLen);

Os dois primeiros comandos funcionam normalmente. No comando de gerar qrCode eu passo apenas o valor e o txId. Mas surge uma exception dizendo que:
java.lang.Exception:
Nome do Recebedor não informado
Cidade do Recebedor não informada

Como passo estes valores para conseguir recuperar o qrCode desta consulta?

Att

  • Consultores
Postado

Boa tarde !
Na configuração do pix, olhe minha tela de exemplo:
Infomo o nome do recebedor e a cidade, qual PSP vou utilizar.. o ambiente.. etc
image.png

  • Curtir 1
Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

  • Membros Pro
Postado
7 minutos atrás, Daniel InfoCotidiano disse:

Boa tarde !
Na configuração do pix, olhe minha tela de exemplo:
Infomo o nome do recebedor e a cidade, qual PSP vou utilizar.. o ambiente.. etc
image.png

Ahhh perfeito. Então eu devo informar sim estes dois dados.
Como passo isto via .ini? Tem algum GRUPO específico para estes dois dados? E qual o nome correto de cada atributo no ini?

  • Consultores
Postado

            acbrPIXCD.configGravarValor(ACBrSessao.PIXCD, "CidadeRecebedor", txtCidadeRecebedor.getText());
            acbrPIXCD.configGravarValor(ACBrSessao.PIXCD, "NomeRecebedor", txtNomeRecebedor.getText());
            acbrPIXCD.configGravarValor(ACBrSessao.PIXCD, "UFRecebedor", txtUFRecebedor.getText());

Se precisar de mais informações, tem aqui no exemplo:
https://svn.code.sf.net/p/acbr/code/trunk2/Projetos/ACBrLib/Demos/Java/PIXCD/

https://acbr.sourceforge.io/ACBrLib/ConfiguracoesdaBiblioteca23.html

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

  • Membros Pro
Postado
4 minutos atrás, Daniel InfoCotidiano disse:

            acbrPIXCD.configGravarValor(ACBrSessao.PIXCD, "CidadeRecebedor", txtCidadeRecebedor.getText());
            acbrPIXCD.configGravarValor(ACBrSessao.PIXCD, "NomeRecebedor", txtNomeRecebedor.getText());
            acbrPIXCD.configGravarValor(ACBrSessao.PIXCD, "UFRecebedor", txtUFRecebedor.getText());

Se precisar de mais informações, tem aqui no exemplo:
https://svn.code.sf.net/p/acbr/code/trunk2/Projetos/ACBrLib/Demos/Java/PIXCD/

https://acbr.sourceforge.io/ACBrLib/ConfiguracoesdaBiblioteca23.html

Muito obrigado pela ajuda e agilidade Daniel.

  • Membros Pro
Postado
41 minutos atrás, Daniel InfoCotidiano disse:

            acbrPIXCD.configGravarValor(ACBrSessao.PIXCD, "CidadeRecebedor", txtCidadeRecebedor.getText());
            acbrPIXCD.configGravarValor(ACBrSessao.PIXCD, "NomeRecebedor", txtNomeRecebedor.getText());
            acbrPIXCD.configGravarValor(ACBrSessao.PIXCD, "UFRecebedor", txtUFRecebedor.getText());

Se precisar de mais informações, tem aqui no exemplo:
https://svn.code.sf.net/p/acbr/code/trunk2/Projetos/ACBrLib/Demos/Java/PIXCD/

https://acbr.sourceforge.io/ACBrLib/ConfiguracoesdaBiblioteca23.html

Apenas mais uma pergunta:
Ao tentar passar meu txId, surge uma mensagem de erro dizendo que meu txId não pode ter mais de 25 caracteres.

Mas o Cielo aceita. Quando gero, inclusive sem fornecer txId, onde eles me retornam 1 txId ele vem acima de 25.

Este que envio abaixo acabou de ser gerado por eles: 

CIELO202409110000000000000000000173
  • Membros Pro
Postado
25 minutos atrás, Messias Bittencourt disse:

Apenas mais uma pergunta:
Ao tentar passar meu txId, surge uma mensagem de erro dizendo que meu txId não pode ter mais de 25 caracteres.

Mas o Cielo aceita. Quando gero, inclusive sem fornecer txId, onde eles me retornam 1 txId ele vem acima de 25.

Este que envio abaixo acabou de ser gerado por eles: 

CIELO202409110000000000000000000173

E quando eu tento gerar um txId com 25 ou menos me é retornado um erro dizendo:
"detail":"A requisição que busca alterar ou criar uma cobrança para pagamento imediato não respeita o _schema_ ou está semanticamente errada.","violations":[{"reason":"O parâmetro txid informado é inválido. Informe um txid com no mínimo 26 e no máximo 35 caracteres.","property":"txid"

Ou seja: na hora de criar tenho de informar txId com 26 ou mais. Mas na hora do qrCode ele diz que tem de ser menos ou igual à 25 caracteres.
Como proceder?

  • 2 semanas depois ...
  • Consultores
  • Solution
Postado
Em 11/09/2024 at 18:41, Messias Bittencourt disse:

Ou seja: na hora de criar tenho de informar txId com 26 ou mais. Mas na hora do qrCode ele diz que tem de ser menos ou igual à 25 caracteres.
Como proceder?

Olá @Messias Bittencourt

Creio que vc está confundindo os tipos de QRCode. 

- QRCode ESTÁTICO: Deve possuir um tamanho ATÉ 25 caracteres
Esse tipo de qrcode não faz acesso nenhum à API. Ele apenas possui a chave PIX e o valor(não obrigatório) no QRCode. 

- QRCode DINÂMICO: Deve possuir um tamanho entre 26 a 35 caracteres.
Esse qrcode faz acesso à API de algum PSP e permite apenas um pagamento.

Nesse vídeo detalhamos melhor a explicação:
https://www.youtube.com/watch?v=VRydAYu7tXI&t=1s

  • Curtir 1
Consultor SAC ACBr

Elias César Vieira
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil
Assine o
SAC

 
  • Membros Pro
Postado
Em 23/09/2024 at 17:01, EliasCesar disse:

Olá @Messias Bittencourt

Creio que vc está confundindo os tipos de QRCode. 

- QRCode ESTÁTICO: Deve possuir um tamanho ATÉ 25 caracteres
Esse tipo de qrcode não faz acesso nenhum à API. Ele apenas possui a chave PIX e o valor(não obrigatório) no QRCode. 

- QRCode DINÂMICO: Deve possuir um tamanho entre 26 a 35 caracteres.
Esse qrcode faz acesso à API de algum PSP e permite apenas um pagamento.

Nesse vídeo detalhamos melhor a explicação:
https://www.youtube.com/watch?v=VRydAYu7tXI&t=1s

Muito obrigado pelos esclarecimentos @EliasCesar.

Realmente eu estava achando que era a geração do qrCode para pagamento.

Att

Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.