---
title: "Provider de Reversão"
url: "https://devcenter.stone.com.br/sdk-android-provedor-reversao"
image: "https://devcenter.stone.com.br/_og/d/c_Ocean.takumi,title_~UHJvdmlkZXIgZGUgUmV2ZXJzw6Nv,props_eyJ0aGVtZSI6eyJtb2RlIjoibGlnaHQiLCJjb2xvcnMiOnsicHJpbWFyeSI6IiMzMEE2NkQifX19,p_Ii9zZGstYW5kcm9pZC1wcm92ZWRvci1yZXZlcnNhbyI,s__NQRupPl2TfTq721.png"
---

# Provider de Reversão

Caso uma transação não tenha uma resposta do Autorizador Stone ou da API de QRCode 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 no caso de Autorização, ou atualizará os dados no caso de transações PIX (processo chamado de Sonda).

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

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

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

```java
ReversalProvider reversalProvider = new ReversalProvider(CONTEXT);
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
      }
});
reversalProvider.execute();
```

Sonda de Transações PIX

Transações PIX que forem abortadas pelo usuário após o pagamento e antes do POS identificar o crédito em conta (devido, por exemplo, à instabilidade de rede) serão atualizadas para APROVADAS e constarão nos relatórios, e isso deve ser considerado em qualquer fluxo de conciliação de sua solução.

Isso se dá ao fato de não haver, de fato, reversão para pagamentos instantaneas.

---

**Jornada: [Integrar pelos Providers](https://devcenter.stone.com.br/sdk-android-overview-da-sdk)**  
Etapa 9 de 18

[**Etapa anterior**Providers padrão: Provider de Cancelamento](https://devcenter.stone.com.br/sdk-android-provedor-cancelamento)[**Próxima etapa**POS Android: Provider de Transação - POS Android](https://devcenter.stone.com.br/sdk-android-provedor-transacao-pos)

Siga a Stone nas redes sociais

[](https://www.facebook.com/stonepagamentos/)[](https://x.com/sejastone/)[](https://www.instagram.com/stone/)[](https://br.linkedin.com/company/stone-co)[](https://www.youtube.com/channel/UCk4L4JykgoDkN8YeuxkNqIQ)

© Stone Instituição de Pagamento S.A. CNPJ 16.501.555/0001-57

Av. Rebouças, 2880, 4º andar, Pinheiros, CEP 05.402-500 – São Paulo/SP

Instituição de pagamento autorizada pelo Banco Central do Brasil, nas modalidades de credenciadora e emissora de moeda eletrônica.