Getnet DocsGetnet Docs

Processe um estorno

Este guia mostra como reverter uma transação aprovada anteriormente com initRefund.

Como funciona

Você inicia um estorno com initRefund. O parâmetro refundData define quem fornece o paymentId:

  • Estorno direto — seu aplicativo fornece um paymentId conhecido.
  • Estorno indireto — o usuário localiza a transação nas telas do SDK.

O resultado chega por um callback (consulte Resultado da transação). É necessário um warm-up bem-sucedido (WarmUpStatus.Success).

Estornos se aplicam somente a transações de crédito e débito. Transações Pix e voucher não podem ser estornadas.

Antes de começar

Para um estorno direto, mantenha seu próprio histórico de transações. O SDK não expõe transações passadas, e o paymentId retornado no resultado da venda é a chave para estorná-la. Armazene o paymentId — você não precisa armazenar dados do cartão.

Estorno direto

Informe o paymentId que você persistiu da venda original:

ApoloSdk.getClient().initRefund(
    context = activity,
    refundData = Refund(paymentId = paymentIdFromYourRecord),
    onResult = { result -> /* see Transaction result */ },
)

Estorno indireto

Omita refundData (ou passe um paymentId vazio) para que o SDK conduza a busca nas próprias telas:

ApoloSdk.getClient().initRefund(
    context = activity,
    onResult = { result -> /* see Transaction result */ },
)

Leia o resultado

O resultado chega em onResult. Em caso de sucesso, o payload é um ICancelPaymentResponse. Consulte Resultado da transação para os códigos e os campos do payload.

Próximos passos