Ir para conteúdo
  • Cadastre-se

dev botao

Componente ElginTef e MSitef Android


Ver Solução Respondido por Daniel Simoes,

Recommended Posts

  • Fundadores
13 minutos atrás, Dércio Luis Zanatta disse:

Mesmo configurando ConfirmarTransacaoAutomaticamente := False  as transações estão sendo confirmadas automaticamente...

Anexe o Log, para sabermos por onde ele passou do Componente...

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.

Link para o comentário
Compartilhar em outros sites

37 minutos atrás, Dércio Luis Zanatta disse:

Boa tarde

OBS: Infelizmente o Sitef é um mal necessário... Atualmente não existe uma solução TEF mais completa no mercado..  mas vamos lá

Notei outro problema aqui em meus testes..

Mesmo configurando ConfirmarTransacaoAutomaticamente := False  as transações estão sendo confirmadas automaticamente...

 

@Dércio Luis ZanattaSegundo suporte o MSitef ainda não trabalha com transação pendente ou seja o "ConfirmarTransacaoAutomaticamente" é indiferente nesse caso. Mas gostaria que pudesse validar isso com o Suporte da Software Express para termos uma segunda visão das informações passadas por eles.

Editado por Warquia

Warquia Pereira
Analista de Sistemas e Desenvolvedor

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
5 minutos atrás, Warquia disse:

@Dércio Luis ZanattaSegundo suporte o MSitef ainda não trabalha com transação pendente ou seja o "ConfirmarTransacaoAutomaticamente" é indiferente nesse caso. Mas gostaria que pudesse validar isso com o Suporte da Software Express para termos uma segunda visão das informações passadas por eles.

Certo.. Vou tentar conversar com eles a respeito.. Esse recurso de deixar a transação pendente até a finalização da NFCe se torna necessário nas transações com múltiplas formas de pagamento..

Exemplo: O usuário faz uma NFCe de 10,00.. Efetua um pagamento de 6,00 com TEF.. A NFCe vai ficar aberta aguardando o pagamento do saldo restante.. Se o usuário cancelar a NFCe nesse momento, a transação TEF pode ser desfeita, caso ainda não esteja confirmada, porém se estiver confirmada, terá que ser cancelada e o Cancelamento de uma transação no M-Sitef vai exigir que digite um monte de informações, com nsu, valor, etc...  Isso o usuário não vai ter acesso, pois nem comprovante a transação tem ainda...

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Fundadores

Humm.. eu acho arriscado deixar transações pendentes por muito tempo...

Elas sempre geram confusão e suporte, quando algo não é pago, ou concluído de forma apropriada... Fiz um vídeo sobre isso:

 

  • Curtir 1
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.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
Agora, Daniel Simoes disse:

Humm.. eu acho arriscado deixar transações pendentes por muito tempo...

Elas sempre geram confusão e suporte, quando algo não é pago, ou concluído de forma apropriada... Fiz um vídeo sobre isso:

 

Arriscado é.. mas me parece necessário confirmar somente no encerramento da NFCe.. e caso seja cancelada deve ser enviado desfazimento... Existem vários outros controles que devem ser feitos para evitar que as transações fiquem pendentes, mas acredito que vai dar menos dor de cabeça do que ter que ficar cancelando depois.. ainda mais com pdvs móveis..

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Fundadores

Eu realmente não acho necessário, e não recomendo deixar transações pendentes...

NFCe tem contingência OffLine, e o comprovante do TEF pode ser reeimpresso a qualquer momento...

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.

Link para o comentário
Compartilhar em outros sites

  • Fundadores
Em 29/05/2023 at 14:53, Warquia disse:

Segue em anexo correções feitas para retornar RespostaTEF.CodigoBandeiraPadrao MSitef e ElginIDH

Sobre as Parcelas com retorno do vencimento "RespostaTEF.Parcelas[0].Vencimento" segundo o suporte ainda não retornam essa informação, somente a quantidade de parcelas "RespostaTEF.QtdParcelas" (aconselho abrir um suporte com a Software Express para mais informação sobre o retorno do campo)

Ps: Encontrei mais uma inconsistência dentro do MSitef já abrir um novo chamado referente a loop de mensagem (segue video que enviei a eles para entender https://www.youtube.com/watch?v=x70pg58dx_c 

Att.

Correcoes.zip 27.07 kB · 1 download

Obrigado por mais essa contribuição @Warquia... no svn.. Commit [r29593]

Fico te devendo uma cerveja, no Dia do ACBr

  • Curtir 1
  • Haha 1
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.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Boa tarde @warquia

No fluxo de transações não aparece a opção "Digitado"  quando selecionado "Crédito". O roteiro de pré homologação da Softwarexpress existe que se faça uma transação de Crédito "digitada"..  Existe alguma configuração no componente para habilitar isso ?

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
Em 29/05/2023 at 16:51, Warquia disse:

@Dércio Luis ZanattaSegundo suporte o MSitef ainda não trabalha com transação pendente ou seja o "ConfirmarTransacaoAutomaticamente" é indiferente nesse caso. Mas gostaria que pudesse validar isso com o Suporte da Software Express para termos uma segunda visão das informações passadas por eles.

Boa tarde

Só para constar, entre em contato com o suporte da Softwareexpress, eles solicitaram os .dmp das transações testes que fiz e afirmam que a automação está enviando o comando de confirmação da transação e que se esse comando não for enviado, a transação fica pendente, o comportamento é o mesmo da Clisitef, segundo eles...

 

Link para o comentário
Compartilhar em outros sites

3 horas atrás, Dércio Luis Zanatta disse:

Boa tarde @warquia

No fluxo de transações não aparece a opção "Digitado"  quando selecionado "Crédito". O roteiro de pré homologação da Softwarexpress existe que se faça uma transação de Crédito "digitada"..  Existe alguma configuração no componente para habilitar isso ?

Boa tarde, sim ele é configurado no servidor do sitef e não no Componente

Warquia Pereira
Analista de Sistemas e Desenvolvedor

Link para o comentário
Compartilhar em outros sites

1 hora atrás, Dércio Luis Zanatta disse:

Boa tarde

Só para constar, entre em contato com o suporte da Softwareexpress, eles solicitaram os .dmp das transações testes que fiz e afirmam que a automação está enviando o comando de confirmação da transação e que se esse comando não for enviado, a transação fica pendente, o comportamento é o mesmo da Clisitef, segundo eles...

 

Hum, desconheço isso. eles não informaram tal informação no manual enviado, mas nós deixe informado por gentileza caso tenha informação do tala comando informado. 
outra informação e que eles enviam um app construído no android studio para validar o fluxo talvez ele sirva de apoio.

TMJ

Warquia Pereira
Analista de Sistemas e Desenvolvedor

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
16 horas atrás, Warquia disse:

Boa tarde, sim ele é configurado no servidor do sitef e não no Componente

Bom dia

Segundo o pessoal da Softwareexpress, para habilitar a transação com cartão de crédito digitado, teria que habilitar isso na chamada da função de pagamento, incluindo o parâmetro ("restricoes", "TransacoesHabilitadas=29")

Não sei como isso foi feito no componente, mas pelo que vi, isso deveria ser passada em ACBrTEFAndroid1.EfetuarPagamento.. Ou foi criado de alguma outra forma ?

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
33 minutos atrás, Dércio Luis Zanatta disse:

Bom dia

Segundo o pessoal da Softwareexpress, para habilitar a transação com cartão de crédito digitado, teria que habilitar isso na chamada da função de pagamento, incluindo o parâmetro ("restricoes", "TransacoesHabilitadas=29")

Não sei como isso foi feito no componente, mas pelo que vi, isso deveria ser passada em ACBrTEFAndroid1.EfetuarPagamento.. Ou foi criado de alguma outra forma ?

Sou meio inexperiente quando se trata de debugar os fontes do ACBR, mas andei dando uma "fuçada" aqui e encontrei isso..  Pelo que pude entender, as transações habilitadas estão sendo passadas sempre em branco.. Talvez teria que criar uma Propriedade na inicialização para passas esses códigos ?

image.thumb.png.9b839d3920f821b077bfd976432ed8b8.png

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Estude o Demo do ACBr....

Veja o método: procedure TFrTEFDemoAndroid.AplicarConfiguracaoTransacao;

  if ACBrTEFAndroid1.TEF is TACBrTEFAndroidMSitefClass then
  begin
    with TACBrTEFAndroidMSitefClass( ACBrTEFAndroid1.TEF ) do
    begin
      ComExterna     := '0';//opcional: 0 – Sem (apenas para SiTef dedicado); 1 – TLS Software Express; 2 – TLS WNB Comnect; 3 – TLS Gsurf
      Restricoes     := '';  // <------------------------------ AQUI ------------------------
      TransacoesHabilitadas := ''; //opcional : controle de transação
      ValidacaoDupla := '0'; //opcional : 0 – Para validação simples; 1 – Para validação dupla ***Obrigatório para empresa que usam /TLS ComExterna= 1, 2, 3
      CodigoOTP      := ''; //opcional : Código obrigatório quando é utilizada comunicação(ComExterna) com TLS GSurf.
      AcessibilidadeVisual := 0;//opcional: Campo para definir se a acessibilidade visual deve ser habilitada: 0 – Para desabilitar (valor padrão) 1 – Para habilitar
      //TipoPinpad     := TTipoPinpad.pUsb;//opcional : ANDROID_USB – Tenta obter conexão apenas com pinpad´s USB; ANDROID_BT – Tenta obter conexão apenas com pinpad´s Bluetooth.
    end;
  end;

 

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.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
2 horas atrás, Daniel Simoes disse:

Estude o Demo do ACBr....

Veja o método: procedure TFrTEFDemoAndroid.AplicarConfiguracaoTransacao;

  if ACBrTEFAndroid1.TEF is TACBrTEFAndroidMSitefClass then
  begin
    with TACBrTEFAndroidMSitefClass( ACBrTEFAndroid1.TEF ) do
    begin
      ComExterna     := '0';//opcional: 0 – Sem (apenas para SiTef dedicado); 1 – TLS Software Express; 2 – TLS WNB Comnect; 3 – TLS Gsurf
      Restricoes     := '';  // <------------------------------ AQUI ------------------------
      TransacoesHabilitadas := ''; //opcional : controle de transação
      ValidacaoDupla := '0'; //opcional : 0 – Para validação simples; 1 – Para validação dupla ***Obrigatório para empresa que usam /TLS ComExterna= 1, 2, 3
      CodigoOTP      := ''; //opcional : Código obrigatório quando é utilizada comunicação(ComExterna) com TLS GSurf.
      AcessibilidadeVisual := 0;//opcional: Campo para definir se a acessibilidade visual deve ser habilitada: 0 – Para desabilitar (valor padrão) 1 – Para habilitar
      //TipoPinpad     := TTipoPinpad.pUsb;//opcional : ANDROID_USB – Tenta obter conexão apenas com pinpad´s USB; ANDROID_BT – Tenta obter conexão apenas com pinpad´s Bluetooth.
    end;
  end;

 

Era isso que não estava encontrando.. Valeu ai Daniel !!

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Boa tarde

Notei um problema aqui...

Quando faço ACBrTEFAndroid1.EfetuarAdministrativa(IdentificadorTransacao) ;

o parâmetro TACBrTEFAndroidMSitefClass( ACBrTEFAndroid1.TEF ).TransacoesHabilitadas:='7;8;16;17;18;26;27;28;29;30;40;3020;3289' ;

é jogado nulo, mesmo preenchendo a propriedade..

Isso somente quando chama ADM, quando faz uma transação joga normal

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
23 minutos atrás, Dércio Luis Zanatta disse:

Boa tarde

Notei um problema aqui...

Quando faço ACBrTEFAndroid1.EfetuarAdministrativa(IdentificadorTransacao) ;

o parâmetro TACBrTEFAndroidMSitefClass( ACBrTEFAndroid1.TEF ).TransacoesHabilitadas:='7;8;16;17;18;26;27;28;29;30;40;3020;3289' ;

é jogado nulo, mesmo preenchendo a propriedade..

Isso somente quando chama ADM, quando faz uma transação joga normal

 

Acho que encontrei o problema..

Faltou:

    PA.ValueInfo[PWOPER_RESTRICOES]  := fRestricoes;
    PA.ValueInfo[PWOPER_TRANSHABILITADA] := fTransacoesHabilitadas;
na function TACBrTEFAndroidMSitefClass.EfetuarAdministrativa(const CodOperacaoAdm: string = ''): Boolean;

do ACBRTEFAndroidMSitef.pas.

Inclui essas linhas e agora funcionou ...

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Não há um APK... você pode baixar os Fontes do ACBr e Compilar

https://projetoacbr.com.br/fontes/

Em 09/06/2023 at 23:34, adelsonuchoa disse:

Boa noite, você pode me fornecedor o Demo apk mSitef?

Creio ser necessário solicitar direto a Sw.Express, eles não permitem a distribuição por terceiros

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.

Link para o comentário
Compartilhar em outros sites

20 horas atrás, Maicon Samp disse:

Boa tarde, como posso fazer o teste usando o demo ? onde encontro o apk mSitef para fazer a chamada ?

Bom dia @Maicon Samp

A rotina para testar todo o ambiente:

1º Entrar em contato com o pessoal da Software Express pelo 011 3170-5353 e solicitar o m-Sitef e o SitDemo
  #Observações:
           -existe 2 versões de m-Sitef uma para Android puro que é o seu caso (D2mini) e um para gPos700X da Gertec(eles vão te perguntar isso)
           -O SitDemo e um programa que deve ser instalado em uma maquina servidora ele é o responsável pela comunicação com as Adquirentes
2º Instalar o m-Sitef no seu D2Mini(após instalado ele não aparecer como um app normal, ficando oculto no sistema, logo não precisa de configuração)

3º Instalar o SitDemo em uma maquina servidora ex: windows e executar o SitDemo.exe 

4º Compilar o TEFAndroidDemo e configurar o IP do servidor (passo 3) e código de loja (mo seu caso é homologação\testes deve ser usado 8 zeros ex "00000000"

5º Efetuar seus testes.

Editado por Warquia
  • Obrigado 1

Warquia Pereira
Analista de Sistemas e Desenvolvedor

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Boa tarde

Estou tantando fazer a certificação do meu aplicativo e recebi o seguinte retorno:

1 - Não está sendo enviado o cnpj da automação, somente o do cliente, segue o parâmetro abaixo para envio do cnpj da automação

cnpj_automacao  -  CNPJ da empresa que desenvolveu a automação comercial. 

exemplo:

i.putExtra("cnpj_automacao", "12345678912345");

Estou passando o parâmetro:

ACBrTEFAndroid1.DadosAutomacao.CNPJSoftwareHouse := Meu_CNPJ ;

Acredito que isso não esteja sendo sendo passado (i.putExtra("cnpj_automacao", "12345678912345");

Tentei ver aqui no fonte da classe, mas não achei como mandar isso..

Alguém pode me ajudar ?

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.