Membros Pro Milton Ferreira Posted July 8 Membros Pro Share Posted July 8 Bom dia! Estamos realizando os testes do roteiro de homologação e estamos precisando de uma ajuda quanto ao recebimento de PIX (Carteira Digital). São enviados os parametros: => PW_iAddParam (37 - TOTAMNT): 1000 => PW_iAddParam (7969 - PAYMNTTYPE): 8 => PW_iAddParam (32513 - USINGPINPAD): 1 => PW_iAddParam (53 - AUTHSYST): PIX C6 BANK => PW_iExecTransac: NOTHING(-2493) Nada é gerado no pin pad e transação não é realizada, mas retorna conforme abaixo: ============== PARAMETROS ============== OPERATION<0X2> = 33 POSID<0X11> = 88872 DESTTCPIP<0X1b> = esba-hom01.tpgweb.io:17500 UNKNOWN<0X1d> = GERTEC PPC-930;192MB C1400.12503.VR1115 @2.12002.14 200921 7200032401011632 UNKNOWN<0X23> = ul REQNUM<0X32> = 0000131499 AUTHSYST<0X35> = PIX C6 BANK VIRTMERCH<0X36> = 4607 CNFREQ<0X43> = 1 AUTLOCREF<0X44> = 92 LANGUAGE<0X6c> = 0 PROCESSMSG<0X6f> = REALIZE A LEITURA DO QR CODE 01 CNCDSPMSG<0X74> = OPERACAO CANCELADA CNCPPMSG<0X75> = OPERACAO CANCELADA UNKNOWN<0X7e> = 002.14 200921 GERTEC PPC-930;192MB PPC-930 2.121400.12503.VR1115 @002.14 200921 002.14 200921 12000000001.19 1.0.3-20170613 3.0.3-20170613 1.0.2-20171120 1.0.1-20170601 0816 03200240 11 1.0.0-20150224 1.0.1-20180614 7200032401011632 PAYMNTTYPE<0X1f21> = 8 UNKNOWN<0X1f77> = 00020101021226990014br.gov.bcb.pix2577qrcode-h.c6pix.com/qrs1/v2/01jxJ3ryeGCHqHn7jg63Y7cDd7mqfbwWvuiCeAH7AmebtbLc1A520400005303986540510.005802BR5916Regressivo Teste6009SAO PAULO62070503***63040479 UNKNOWN<0X1f81> = 1 USINGPINPAD<0X7f01> = 1 PPCOMMPORT<0X7f02> = 05 IDLEPROCTIME<0X7f04> = 240708105924 SERVERPND<0X7f0b> = 1 PPINFO<0X7f15> = GERTEC PPC-930;192MB C1400.12503.VR1115 @2.12002.14 200921 7200032401011632 UNKNOWN<0X7f16> = 9 UNKNOWN<0X7f21> = 0004.0001.0027.0001 UNKNOWN<0X7f4e> = SO:Win 10 , 64bits UNKNOWN<0X7f51> = 0 UNKNOWN<0X7f52> = 0 UNKNOWN<0X7f53> = 00000000000000000000000000000000 ======================================== Os testes referentes à crédito e débito já estão ok. Link to comment Share on other sites More sharing options...
Fundadores Daniel Simoes Posted July 8 Fundadores Share Posted July 8 Por favor experimente fazer uma transação, informando apenas "TOTAMNT", para verificar se na relação de adquirentes, aparece o "PIX C6 BANK" Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Link to comment Share on other sites More sharing options...
Membros Pro Milton Ferreira Posted July 8 Author Membros Pro Share Posted July 8 21 minutos atrás, Daniel Simoes disse: Por favor experimente fazer uma transação, informando apenas "TOTAMNT", para verificar se na relação de adquirentes, aparece o "PIX C6 BANK" Obrigado pelo retorno, Sim, aparece: O retorno é o mesmo de antes. Link to comment Share on other sites More sharing options...
Fundadores Daniel Simoes Posted July 8 Fundadores Share Posted July 8 Boa.. por favor anexo o Log, da PGWebLib, da transação que não está funcionando Por favor verifique como está o valor de "PWINFO_AUTCAP" https://paygodev.readme.io/docs/10dicionário-de-dados 1 Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Link to comment Share on other sites More sharing options...
Membros Pro Milton Ferreira Posted July 8 Author Membros Pro Share Posted July 8 PW_iAddParam(0x36, 4607) <0> ppsers_240708.logcomms_240708.log Link to comment Share on other sites More sharing options...
Membros Pro Milton Ferreira Posted July 8 Author Membros Pro Share Posted July 8 Estou tentando enviar AUTCAP com 4, mas com todos os somatórios que tentei o resultado é sempre o mesmo: PWRET.NOTHING Link to comment Share on other sites More sharing options...
Fundadores Daniel Simoes Posted July 8 Fundadores Share Posted July 8 ahh.. agora que compreendi a msg... Isso é esperado.. o "NOTHING", é uma chamado do Loop, que dá a chance de você como aplicação, encerrar o Loop, mas não é necessário ação do seu lado.. veja o que diz a documentação, sobre o PWRET_NOTHING https://paygodev.readme.io/docs/52-captura-de-dados#interface-com-o-pinpad Em qual linguagem você está desenvolvendo ? Há vários Demos no repositório da PayGo https://github.com/adminti2?tab=repositories Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Link to comment Share on other sites More sharing options...
Membros Pro Milton Ferreira Posted July 8 Author Membros Pro Share Posted July 8 (edited) 5 minutos atrás, Daniel Simoes disse: ahh.. agora que compreendi a msg... Isso é esperado.. o "NOTHING", é uma chamado do Loop, que dá a chance de você como aplicação, encerrar o Loop, mas não é necessário ação do seu lado.. veja o que diz a documentação, sobre o PWRET_NOTHING https://paygodev.readme.io/docs/52-captura-de-dados#interface-com-o-pinpad Em qual linguagem você está desenvolvendo ? Há vários Demos no repositório da PayGo https://github.com/adminti2?tab=repositories Nossa aplicação é em Java. Negócio é que não consigo gerar o QrCode no PinPad. Em todos os exemplos que vi e vídeos que assisti os parâmetros estão sendo enviados iguais. Edited July 8 by Milton Ferreira Link to comment Share on other sites More sharing options...
Fundadores Daniel Simoes Posted July 8 Fundadores Share Posted July 8 é o padrão da DLL... ela mesmo, cuida de enviar o QRCode ao Pinpad... mas se você interrompe o fluxo, quando recebe o PWRET_NOTHING, pode ser esse o problema Acho que em Java o Demo é esse aqui: https://github.com/adminti2/pdvWindowsPayGoLibC_Java Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Link to comment Share on other sites More sharing options...
Membros Pro Milton Ferreira Posted July 8 Author Membros Pro Share Posted July 8 (edited) Estou meio perdido no que fazer aqui. O que tenho que fazer quando receber o retorno NOTHING? Não interrompi o fluxo. Não acontece mais nada ao lado da lib. O retorno completo é: [ OPERACAO CANCELADA, 1, 002.14 200921 GERTEC PPC-930;192MB PPC-930 2.121400.12503.VR1115 @002.14 200921 002.14 200921 12000000001.19 1.0.3-20170613 3.0.3-20170613 1.0.2-20171120 1.0.1-20170601 0816 03200240 11 1.0.0-20150224 1.0.1-20180614 7200032401011632, REALIZE A LEITURA DO QR CODE 01, 00000000000000000000000000000000, 0004.0001.0027.0001, 88872, 0000131561, 0, ul, 1, SO:Win 10 , 64bits, PIX C6 BANK, 8, OPERACAO CANCELADA, 1, 05, GERTEC PPC-930;192MB C1400.12503.VR1115 @2.12002.14 200921 7200032401011632, 33, 240708153710, 144, GERTEC PPC-930;192MB C1400.12503.VR1115 @2.12002.14 200921 7200032401011632, 9, 4607, 1, 0, esba-hom01.tpgweb.io:17500, 0, 00020101021226990014br.gov.bcb.pix2577qrcode-h.c6pix.com/qrs2/v2/02VpklHFRH4yDFIwdiavzBs5fsHEpHvtVGQZsmFMnhSVwHNR6u52040000530398654041.005802BR5916Regressivo Teste6009SAO PAULO62070503***630402B2] Falta somente recebimento de carteira digital para solicitar agendamento da homologação. Rodei o código de exemplo baixado GitHub e acontece o mesmo, não gera o QRCode no PinPad. Edited July 8 by Milton Ferreira Link to comment Share on other sites More sharing options...
Fundadores Daniel Simoes Posted July 8 Fundadores Share Posted July 8 Veja o Fluxo-grama, na imagem do link: https://paygodev.readme.io/docs/52-captura-de-dados#interface-com-o-pinpad Você deve chamar o PW_iPPEventLoop Talvez ajude, ver os fontes do ACBr: http://svn.code.sf.net/p/acbr/code/trunk2/Fontes/ACBrTEFD/ACBrTEFPayGoWebComum.pas veja o método: function TACBrTEFPGWebAPI.ExecutarTransacao: Boolean; Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Link to comment Share on other sites More sharing options...
Membros Pro Milton Ferreira Posted July 9 Author Membros Pro Share Posted July 9 Infelizmente ainda não consegui solução, segui o fluxograma, implementei como no exemplo: for (;;) { iRet = LibFunctions.eventLoop(displayMessage); if (iRet != PWRet.NOTHING) break; try { Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } } Não sai nunca do loop, pois mesmo chamando o eventLoop o retorno nunca muda, sempre retorna NOTHING e aplicação fica para aguardando mudar o status, o que não acontece! Link to comment Share on other sites More sharing options...
Fundadores Daniel Simoes Posted July 9 Fundadores Share Posted July 9 Por favor anexe o seu Log após esse teste Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Link to comment Share on other sites More sharing options...
Membros Pro Milton Ferreira Posted July 10 Author Membros Pro Share Posted July 10 20 horas atrás, Daniel Simoes disse: Por favor anexe o seu Log após esse teste Bom dia, Segue anexo logs conforme solicitado, mais uma vez, agradeço a ajuda desde já! Para a aplicação continuar, coloquei um contador que sai do loop após 5 iterações e tenta confirmar a transação (AUTO), mas o QRCode não é gerado de modo algum no PinPad. comms_240710.logppsers_240710.log Link to comment Share on other sites More sharing options...
Fundadores Solution Daniel Simoes Posted July 10 Fundadores Solution Share Posted July 10 Você parece que saiu do Loop, quando recebeu o PWRET_NOTHING 10:24:19:963 [PGWebLib.c] PW_iExecTransac <-2493> <--- PWRET_NOTHING 10:24:20:366 [PGWebLib] PP_Treatment Selecionado: [0x41] 10:24:21:782 [PGWebLib.c] Confirmacao auto (0x41131, 268612, 269, , PIX C6 BANK) IGNORADA 2 10:24:21:962 [PGWebLib.c] PW_iConfirmation(0x3221, 0000268612, 269, , 4607, PIX C6 BANK) <0> O correto seria aparecer uma nova chamada a PW_iExecTransac no Log Veja o Loop do ACBr ele permanece no Loop enquanto o Retorno for (PWRET_OK, PWRET_NOTHING, PWRET_MOREDATA) iRet := PWRET_OK; while (iRet = PWRET_OK) or (iRet = PWRET_NOTHING) or (iRet = PWRET_MOREDATA) do begin {$IfDef FPC} Initialize(ArrParams); {$EndIf} NumParams := Length(ArrParams)-1; GravarLog('PW_iExecTransac()'); iRet := xPW_iExecTransac(ArrParams, NumParams); GravarLog(' '+PWRETToString(iRet)+', NumParams: '+IntToStr(NumParams)); case iRet of PWRET_OK: Break; PWRET_NOTHING: Sleep(CSleepNothing); PWRET_MOREDATA: iRet := ObterDados(ArrParams, NumParams); end; end; 1 Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Link to comment Share on other sites More sharing options...
Membros Pro Milton Ferreira Posted July 11 Author Membros Pro Share Posted July 11 19 horas atrás, Daniel Simoes disse: Você parece que saiu do Loop, quando recebeu o PWRET_NOTHING 10:24:19:963 [PGWebLib.c] PW_iExecTransac <-2493> <--- PWRET_NOTHING 10:24:20:366 [PGWebLib] PP_Treatment Selecionado: [0x41] 10:24:21:782 [PGWebLib.c] Confirmacao auto (0x41131, 268612, 269, , PIX C6 BANK) IGNORADA 2 10:24:21:962 [PGWebLib.c] PW_iConfirmation(0x3221, 0000268612, 269, , 4607, PIX C6 BANK) <0> O correto seria aparecer uma nova chamada a PW_iExecTransac no Log Veja o Loop do ACBr ele permanece no Loop enquanto o Retorno for (PWRET_OK, PWRET_NOTHING, PWRET_MOREDATA) iRet := PWRET_OK; while (iRet = PWRET_OK) or (iRet = PWRET_NOTHING) or (iRet = PWRET_MOREDATA) do begin {$IfDef FPC} Initialize(ArrParams); {$EndIf} NumParams := Length(ArrParams)-1; GravarLog('PW_iExecTransac()'); iRet := xPW_iExecTransac(ArrParams, NumParams); GravarLog(' '+PWRETToString(iRet)+', NumParams: '+IntToStr(NumParams)); case iRet of PWRET_OK: Break; PWRET_NOTHING: Sleep(CSleepNothing); PWRET_MOREDATA: iRet := ObterDados(ArrParams, NumParams); end; end; Deu certo Daniel, muito obrigado pela atenção! Abraço! 1 Link to comment Share on other sites More sharing options...
Moderadores Juliomar Marchetti Posted July 11 Moderadores Share Posted July 11 Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico. Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br Link to comment Share on other sites More sharing options...
Recommended Posts