SDK Android

Provider de Reversão

Caso uma transação não tenha uma resposta do Autorizador Stone e retorne timeout, o SDK Android marcará a transação com o status WITH_ERROR e, com isso, enviará automaticamente um desfazimento logo em seguida.

Se o desfazimento for efetuado com sucesso, a transação terá status atualizado de WITH_ERROR para CANCELLED e o provider finalizado como erro Timeout.

Se a requisição de cancelamento também tiver timeout, será retornado o status WITH_ERROR.

O ReversalProvider deve ser utilizado para os casos em que existem transações com desfazimento pendente (status WITH_ERROR). Este provider varrerá o banco procurando por transações com esse status para realizar o cancelamento.

BOA PRÁTICA

Crie uma rotina no seu App para chamar este Provider para realizar o cancelamento das transações que ficarem com status WITH_ERROR.

A falta desta rotina pode resultar em cobranças duplicadas dos consumidores finais.

ReversalProvider reversalProvider = new ReversalProvider(this);
reversalProvider.setDialogMessage("Cancelando transação com erro");
reversalProvider.isDefaultUI();
reversalProvider.setConnectionCallback(new StoneCallbackInterface() {
      @Override
      public void onSuccess() {
        // code code code
      }

      @Override
      public void onError() {
        // code code code
      }
});