Ir para conteúdo
  • Cadastre-se

dev botao

Recommended Posts

  • Membros Pro
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

  • Membros Pro
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?

  • Moderadores
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
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
 

 

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...