Pesquisar na Comunidade
Showing results for tags 'scope'.
Encontrado 1 registro
-
Boa tarde Estou implementando a integração com o TEF Scope por API. Estou tendo um problema para comunicar com o Pinpad onde ao passar pela primeira vez em ScopeConsultaPP recebo o retorno 65431 e o fluxo é interrompido. Conforme instruído por @Daniel Simões de Almeida no Discord, entrei em contato com o pessoal da Scope onde fui informado que a função em questão está obsoleta e a mesma não consta mais no manual. Fui instruído pelo pessoal da Scope a usar a função ScopePPGetCOMPort, caso queira buscar a porta ou então caso já tenha a porta, conectar diretamente com ScopePPOpenSecure. Verificando a função reparei que isso já é feito na função ConfigurarPortaPinPad que é chamada dentro de AbrirPinPad. Então fiz a remoção da validação inicial e ai funciona perfeitamente pra mim. Ou seja, quando chamar ConfigurarPortaPinPad, caso a mesma não seja passada, irá chamar o ScopePPGetCOMPort para localizar e caso já tenha sido passada ele pula e vai direto para o ScopePPOpenSecure. Vou enviar a função aqui para ver se vocês acham que é valida essa mudança para aplicar ao fonte: procedure TACBrTEFScopeAPI.AbrirPinPad; var ret: LongInt; bConfig, bExclusivo, aPorta, bPorta: Byte; Canal: Word; endereco: AnsiString; begin FecharComunicacaoScope; GravarLog('AbrirPinPad'); GravarLog('ScopeValidaInterfacePP( '+IntToStr(PP_INTERFACE_LIB_COMPARTILHADA)+' )'); ret := xScopeValidaInterfacePP( PP_INTERFACE_LIB_COMPARTILHADA ); GravarLog(' ret: '+IntToStr(ret)); if (ret <> PC_OK) then TratarErroPinPadScope(ret); try AbrirComunicacaoScope; aPorta := ConfigurarPortaPinPad(fPortaPinPad); if (aPorta = 0) then aPorta := bPorta; if (bConfig = PPCONF_MODO_ABECS) then fPinPadSeguro := True; if fPinPadSeguro then begin if (aPorta = 0) then Canal := CANAL_COMM_NONE else Canal := CANAL_COMM_SERIAL; GravarLog('ScopePPOpenSecure( '+IntToStr(Canal)+', '+IntToStr(aPorta)+' )'); endereco := IntToStr(aPorta); ret := xScopePPOpenSecure(Canal, PAnsiChar(endereco)); end else begin GravarLog('ScopePPOpen( '+IntToStr(aPorta)+' )'); ret := xScopePPOpen(bPorta); end; GravarLog(' ret: '+IntToStr(ret)); if (ret <> PC_OK) then TratarErroPinPadScope(ret); finally VerificarSeMantemConexaoScope; end; end;