Transação Pendente

Conforme explicado na seção Confirmação, após realizar uma transação, é necessário verificar se essa transação exige confirmação. Em caso positivo, deve ser enviada uma confirmação ou desfazimento.

Caso a transação não seja confirmada ou desfeita, ela ficará pendente. Como resultado, não será possível realizar nenhuma outra venda até que essa transação pendente seja confirmada ou desfeita. Por isso, é muito importante que seja implementado o tratamento de transação pendente.

Segue abaixo um exemplo de como é realizada o tratamento de transação pendente.

//Verificar se existe uma transação pendente e, se sim, confirmar ou desfazer
if(saidaTransacao.existeTransacaoPendente()){
  confirmPendingTransaction(
    saidaTransacao.obtemDadosTransacaoPendente()
  )
}

suspend fun confirmPendingTransaction(pendenteDados: TransacaoPendenteDados){
  val confirmacao = Confirmacoes()
  confirmacao.informaStatusTransacao(StatusTransacao.CONFIRMADO_MANUAL)

  transacao.resolvePendencia(pendenteDados, confirmacao)
}