Ir para conteúdo
  • Cadastre-se

  • Este tópico foi criado há 406 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membro Pro Verificado
Postado

Bom dia, tudo bem?

Pretendo melhorar a garantia de sincronização entre as operações TEF e banco de dados, assim:
1. ConfirmarTransacaoAutomaticamente = False
2. Gravar dados no banco de dados ao receber autorização do adquirente e antes de confirmar
3. Commit no banco de dados
4. Confirmar transação no adquirente
Qual é o melhor evento pra executar isso?
QuandoDetectarTransacaoPendente ou QuandoFinalizarOperacao ou outro

Obrigado

  • Consultores
Postado

Bom dia,

O QuandoFinalizarOperacao ou QuandoFinalizarTransacao você deve utilizar para gravar as operações, pois são a etapa final da transação.

Recomendo sempre enviar o ConfirmarTransacaoAutomaticamente como "true", para que não tenha nenhum problema com transações pendentes e somente consistir elas no banco depois das três etapas "ok":

- Autorização;
- Retorno de comprovante;
- Confirmação da transação.

Att

  • Membro Pro Verificado
Postado

Obrigado pela resposta, Pedro.

Minha preocupação é a seguinte, suponha o seguinte cenário:
1. Solicitei autorização (considerando ConfirmarTransacaoAutomaticamente = True)
2. O ACBrTEFAPI confirma automaticamente
3. Gravo os dados no banco de dados


Se ocorrer uma queda de energia entre 2 e 3, ou seja, transação já confirmada no adquirente, mas sem registro nenhum no banco de dados.
Nesse cenário minha aplicação simplesmente "acha" que o pagamento não foi efetuado, quando for reestabelecida.
Você tem alguma sugestão o experiência de como seria possível recuperar isso pra não cobrar o cliente duas vezes?

  • Consultores
Postado
40 minutos atrás, Anticlei Scheid disse:

Obrigado pela resposta, Pedro.

Minha preocupação é a seguinte, suponha o seguinte cenário:
1. Solicitei autorização (considerando ConfirmarTransacaoAutomaticamente = True)
2. O ACBrTEFAPI confirma automaticamente
3. Gravo os dados no banco de dados


Se ocorrer uma queda de energia entre 2 e 3, ou seja, transação já confirmada no adquirente, mas sem registro nenhum no banco de dados.
Nesse cenário minha aplicação simplesmente "acha" que o pagamento não foi efetuado, quando for reestabelecida.
Você tem alguma sugestão o experiência de como seria possível recuperar isso pra não cobrar o cliente duas vezes?

Sim isso dai é exemplificado no exemplo

já notou uma MOCK que foi feito chamado Venda?

lá ele vai gravando dados em um ini de cada transação.

com isso tu tem informações caso tenha esse cenário pra retornar poder cancelar

  • Curtir 1

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

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


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Consultores
Postado
Em 09/05/2025 at 15:26, Anticlei Scheid disse:

Repeti o estudo do exemplo e entendi melhor agora.
Obrigado!

 

Deu certo?

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

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


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Este tópico foi criado há 406 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...