Ir para conteúdo
  • Cadastre-se

dev botao

Contribuição TEF API - elgin


Ver Solução Respondido por Daniel Simoes,
  • Este tópico foi criado há 273 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Boa tarde.

Fiz a implementação de um api TEF para ELgin, gostaria de saber como posso contribuir para que 
possa ser inserido no projeto da ACBR. 

Já fiz toda validação junto a ELgin e obtive sucesso!

Criei tudo nos moldes já existentes.

Basicamente o que foi feito : 
 * Um novo tipo de provedor chamado "ACBrTEFAPiElgin" 
 ** Criei units "ACBrTEFAPiElgin.pas" e "ACBrTEFAPiELginComum.pas";  
 ** Fiz os ajuste necessario nas units "ACBrTEFAPi.pas", "ACBrTEFAPiComum.pas" e "ACBrTEFComum"
 ** Adicionei o TEFAPiElgin no ACBr_TEFD.dpk 
 
todos os arquivos anexos  TefApi_Elgin-MURILO.rar

Poderiam me ajudar por favor.

  • Curtir 3
  • Consultores
Postado

Boa tarde,

Criada a TK-4578 para validação.

Obrigado pela contribuição.

  • Curtir 2
Consultor SAC ACBr

Alexandre de Paula
Ajude o Projeto ACBr crescer - Assine o SAC                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

 

  • 1 mês depois ...
Postado
Em 11/10/2023 at 14:20, Alexandre de Paula disse:

Boa tarde,

Criada a TK-4578 para validação.

Obrigado pela contribuição.

bom dia, tem como acompanha o processo de validação ? 

 

  • 3 semanas depois ...
  • 1 mês depois ...
  • Moderadores
Postado
Em 11/10/2023 at 15:00, MuriloS.A disse:

Boa tarde.

Fiz a implementação de um api TEF para ELgin, gostaria de saber como posso contribuir para que 
possa ser inserido no projeto da ACBR. 

Já fiz toda validação junto a ELgin e obtive sucesso!

Criei tudo nos moldes já existentes.

Basicamente o que foi feito : 
 * Um novo tipo de provedor chamado "ACBrTEFAPiElgin" 
 ** Criei units "ACBrTEFAPiElgin.pas" e "ACBrTEFAPiELginComum.pas";  
 ** Fiz os ajuste necessario nas units "ACBrTEFAPi.pas", "ACBrTEFAPiComum.pas" e "ACBrTEFComum"
 ** Adicionei o TEFAPiElgin no ACBr_TEFD.dpk 
 
todos os arquivos anexos  TefApi_Elgin-MURILO.rar

Poderiam me ajudar por favor.

note que tu usou versão mais nova do delphi e esqueceu que suportamos delphi 7 e lazarus

se puder revise seu código

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

  • Fundadores
Postado

Algumas observações...

  • Em ACBrTEFAPI.pas, nos métodos: TACBrTEFAPI.GetPathDLL e TACBrTEFAPI.SetPathDLL, eles estão comentados para a classe de TEF PayGo... há algum motivo ?

Acho que o "case"  também não é bacana... poderíamos refatorar para criar um método virtual nas classes de TEF, e chamarmos ela, usando o Polimorfismo

 

  • A modificação desse enumerado, incluindo tefmtdPIX.
  TACBrTEFAPIMetodo = (tefmtdNenhuma, tefmtdPagamento, tefmtdCancelamento, tefmtdAdministrativa, tefmtdPIX);

Tenho receio que isso gere problemas nas implementações existentes, pois para todos os demais TEF existentes, o PIX é uma opção de Pagamento, acessível por tefmtdPagamento.

A inclusão desse novo enumerado, poderá gerar confusão e erro nos demais TEFs... As opções são:

- Não incluir o tefmtdPIX e de alguma forma na classe da Elgin, distinguirmos quando o pagamento é PIX (talvez com alguma outra informação ou parâmetro do Pagamento)

- Tratar o tefmtdPIX em todas as demais classes de TEF, para igualar ela a tefmtdPagamento  (isso não é muito bacana)

 

  • O mesmo ocorre com a modificação do enumerado TACBrTEFModalidadePagamento com a inclusão de tefmpPIX
TACBrTEFModalidadePagamento = ( tefmpNaoDefinido,
                                  tefmpCartao,
                                  tefmpDinheiro,
                                  tefmpCheque,
                                  tefmpCarteiraVirtual,
                                  tefmpPIX );

Para todos os demais TEFs, PIX se enquadra em tefmpCarteiraVirtual

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Postado

Bom dia, Daniel, 

   

  • Em ACBrTEFAPI.pas, nos métodos: TACBrTEFAPI.GetPathDLL e TACBrTEFAPI.SetPathDLL, eles estão comentados para a classe de TEF PayGo... há algum motivo ?
    • CliSiTEF estava implementado resolvi não altera nada no PayGo, para evitar conflitos... irei alterar o case para utiliza Polimorfismo que é realmente bem mais adequado. 
  •     Enums  
    • Irie remove TACBrTEFAPIMetodo.tefmpPIX   que realmente não faz sentido; 
    •  @Daniel Simoes sobre gostaria que você traze a sua sugerisse que seria  menos confusso
    • no nosso sistema informamos o meio de pagamento que irá na Nfe/NFCe (tPag) no cadastro forma de pagamento e na hora de gerar venda utilizo essa tag para informar se seria um TEF de cartão debito/ credito, 18- carteira Digital, 17 - Pagamento Instantânio(PIX)  e etc...  (https://documentacao.senior.com.br/exigenciaslegais/materias/erp/2021/2021-03-26-nt-2020-006-versao-1-20-divulgada-tabelas-externas-dos-meios-de-pagamentos-e-cartoes-de-debito-credito.htm)   
      • Eu poderia manter o TACBrTEFModalidadePagamento.tefmpPIX se ajusta os trechos de código abaixo: 
        • function TACBrTEFAPIClassCliSiTef.EfetuarPagamento(...): Boolean;
          begin
            ... 
            case Modalidade of
              tefmpDinheiro:
                Op := 0;    // Pagamento genérico
              tefmpCheque:
                Op := 1;    // Cheque
              tefmpCarteiraVirtual,
              tefmpPIX:
                Op := 122;  // Venda via Carteira Digital
             else
            	...
             end; 
            ...
          end;

           

        • function TACBrTEFAPIClassPayGoWeb.EfetuarPagamento(...)
          begin
          	...
              case Modalidade of
                tefmpCartao: ModalidadeInt := 1;
                tefmpDinheiro: ModalidadeInt := 2;
                tefmpCheque: ModalidadeInt := 4;
                tefmpCarteiraVirtual, 
                tefmpPIX: ModalidadeInt := 8;
              else
                ModalidadeInt := 0;
              end;
              if (ModalidadeInt > 0) then
                PA.ValueInfo[PWINFO_PAYMNTTYPE] := IntToStr(ModalidadeInt);
          	...
          end; 
      • Ou posso remove tefmpPIX  e utilizar tefmpCarteiraVirtual com combinação do  TACBrTEFModalidadeFinanciamento ou TACBrTEFTipoCartao podendo criar : 
        •  TACBrTEFTipoCartao.teftcPIX;
        •  TACBrTEFModalidadeFinanciamento.tefmfPagamentoInstantanio; 
  • 3 semanas depois ...
Postado

Boa tarde pessoal, @Daniel Simoes @MuriloS.A @Alexandre de Paula @Italo Giurizzato Junior

Estou implementando o TEF com a API elgin modo ativo via dll, encontrei esse tópico, gostaria de verificar com os colegas se vai ficar disponível no repositório oficial.

@MuriloS.A como colaborador da opção está seguro já está utilizando em produção, é possível disponibilizar a ultima versão?

Obrigado pela atenção de todos.

  • Curtir 2
  • Moderadores
Postado
1 hora atrás, Alysson Rengel disse:

Boa tarde pessoal, @Daniel Simoes @MuriloS.A @Alexandre de Paula @Italo Giurizzato Junior

Estou implementando o TEF com a API elgin modo ativo via dll, encontrei esse tópico, gostaria de verificar com os colegas se vai ficar disponível no repositório oficial.

@MuriloS.A como colaborador da opção está seguro já está utilizando em produção, é possível disponibilizar a ultima versão?

Obrigado pela atenção de todos.

tu pode pegar os arquivo e aplicar localmente para testar e verificar se funcionou

  • Curtir 1
Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

  • 3 semanas depois ...
  • Membros Pro
Postado (editado)

Olá, @MuriloS.A!

Executei o patch que você disponibilizou no último anexo deste tópico. Ao efetuar uma venda, a transação é aprovada.
No entanto, não imprime os comprovantes, pois a resposta, nos campos dos comprovantes, não possui nenhuma informação, embora os logs estejam todos gerados.
Devo fazer algum ajuste naquele código?


Att.

José Filho

Editado por infopointerp
  • Curtir 2
  • 2 semanas depois ...
Postado

Bom dia amigos, o colega @MuriloS.A trabalhava aqui comigo e foi feito para uma necessidade aqui da empresa, porem ele não esta mais trabalhando aqui com a gente e não vai conseguir mexer mais, então vou tentar concluir o processo junto a vocês para chegarmos ao ponto de publicar.
@infopointerp pode fazer ajustes sim e enviar aqui para o pessoal atualizar o projeto aqui para o nosso cenário a impressão meio que e disparada pelo processo que chama o pagamento ao fim dele, então pode ser por isso que não tem a impressão, mas sinta-se livre pra corrigir/melhorar e enviar. Sou de Mato Grosso e estou aqui na correria para a NT dos pagamentos onlines, então não vou conseguir mexer pro agora.

  • Curtir 1
Postado
Em 14/03/2024 at 09:29, infopointerp disse:

Olá, @MuriloS.A!

Executei o patch que você disponibilizou no último anexo deste tópico. Ao efetuar uma venda, a transação é aprovada.
No entanto, não imprime os comprovantes, pois a resposta, nos campos dos comprovantes, não possui nenhuma informação, embora os logs estejam todos gerados.
Devo fazer algum ajuste naquele código?


Att.

José Filho

Boa tarde,  verifica se o patch está  igual ao arquivos.  Está  está imprimindo com essa  na software house em que foi desenvolvido. 

 

  • 4 semanas depois ...
Postado

@Daniel Simoes @Juliomar Marchetti 

Boa tarde.

Executei algumas correções nos arquivos ACBrTEFAPIElgin.pas e ACBrTEFAPIElginComum.pas, executei transacoes de multiplos cartões e operações admisnitrstrativas com exito.

* Corrigido erro na exbição das operações administrativas.

* Corrigido erro no retorno de pagamento, quando efetuado um pagamento de 10,00 o retorno era lido como 1,00, sendo assim a operacao era finalizada na elgin e permanecia em aberto no componente que recebia uma valor errado de pagamento efetuado.

* Corrigido erro na rotina de tratamento de retorno do comprovante. 

 

 

ACBrTEFAPI.rar

  • Curtir 3
  • 2 semanas depois ...
  • Fundadores
Postado

@Fernando Pasqueto e @MuriloS.A

Muito obrigado por sua ótima contribuição...

Apliquei uma ampla revisão nos fontes...
Efetuei algumas otimizações no código, indentação e ajustes para compilação no D7

Poderiam por favor testar com a versão em anexo ?

A quem devo creditar a autoria dos fontes  ?
 

TEFAPIElgin.zip

  • Curtir 3
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • Este tópico foi criado há 273 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...