pay_...) e passa por um ciclo de estados até ser
processado no gateway ou via transferência (no caso de boleto).
Esta página cobre os endpoints de consulta e decisão manual de refunds: buscar por ID, listar por
transação ou por pagamento, e aprovar ou recusar um refund pendente.
A criação de um refund não é feita aqui. Para abrir um pedido de reembolso, use o endpoint de
estorno em Payments (
POST /transactions/{transactionId}/payments/{paymentId}/refund).
Esta página documenta o que acontece depois que o refund já existe.x-api-key. Veja Autenticação.
Endpoints
| Método | Rota | Descrição |
|---|---|---|
GET | /refunds/{id} | Busca um refund por ID |
GET | /refunds/transaction/{transactionId} | Lista os refunds de uma transação |
GET | /refunds/payment/{paymentId} | Lista os refunds de um pagamento |
POST | /refunds/{id}/approve | Aprova um refund pendente e envia para processamento |
POST | /refunds/{id}/refuse | Recusa um refund pendente |
Estados do refund
O campostatus indica em que ponto do ciclo o refund está. Os estados terminais (não mudam mais)
são refunded, refused e failed.
| Status | Significado |
|---|---|
pending | Aguardando decisão manual (aprovar ou recusar) |
approved | Aprovado; em transição para processamento |
processing | Sendo processado no gateway |
refunded | Reembolso concluído (terminal) |
refused | Pedido recusado (terminal) |
failed | Falha no processamento (terminal) |
awaiting_bank_details | Boleto: aguardando o cliente informar os dados bancários |
bank_details_received | Boleto: dados bancários recebidos, pronto para a transferência |
invalid_bank_details | Boleto: dados bancários inválidos; novo pedido de dados enviado |
ted_processing | Boleto: transferência (PIX/TED) em processamento |
Auto-approve da company. Cada empresa tem uma configuração de aprovação automática de reembolsos
(habilitada por padrão). Com auto-approve ligado, um refund de cartão é criado, aprovado e processado
imediatamente — ou seja, ele pode já nascer em
approved/processing e nunca passar por pending.
Com auto-approve desligado, o refund nasce em pending e precisa ser aprovado pelos endpoints abaixo.Fluxo de boleto. Boleto não é estornado no gateway: o valor é devolvido por transferência
bancária (PIX/TED), então é preciso coletar os dados bancários do cliente. Por isso um refund de
boleto, ao ser aprovado, vai para
awaiting_bank_details em vez de processing. Depois que os dados
chegam (bank_details_received), a transferência é processada (ted_processing) até concluir
(refunded). A coleta de dados bancários acontece por um link/convite enviado ao cliente, fora deste
conjunto de endpoints.Buscar refund por ID
ID do refund (prefixo
ref_).ID do refund (
ref_...).ID da transação (
txn_...).ID do pagamento estornado (
pay_...).Valor reembolsado, em centavos (ex.:
4990 = R$ 49,90).Moeda. Sempre
BRL.Estado atual do refund (ver tabela de estados acima).
Motivo informado na criação do refund.
Identificador de quem solicitou o refund.
Origem da solicitação:
api, admin, customer ou gateway.Método do pagamento estornado (ex.:
credit_card, boleto). Pode ser null.Motivo da falha quando
status é failed. Caso contrário, null.Quem aprovou/recusou o refund.
null enquanto não revisado.Data/hora da revisão (ISO 8601).
null enquanto não revisado.Data/hora da conclusão do reembolso (ISO 8601).
null enquanto não concluído.Data/hora de criação (ISO 8601).
Data/hora da última atualização (ISO 8601).
Data/hora de remoção lógica. Normalmente
null.| Status | Quando ocorre |
|---|---|
404 | Refund não encontrado |
Listar refunds de uma transação
ID da transação (prefixo
txn_).Página (começa em 1).
Itens por página. Mínimo
1, máximo 100.Lista de refunds (mesma estrutura de Buscar refund por ID).
Listar refunds de um pagamento
ID do pagamento (prefixo
pay_).Página (começa em 1).
Itens por página. Mínimo
1, máximo 100.data + pagination) do endpoint por transação.
Aprovar refund
awaiting_bank_details).
ID do refund (prefixo
ref_).Idempotency-Key não cria
um efeito duplicado. Veja Convenções.
Chave única para garantir que a aprovação não seja aplicada mais de uma vez.
| Status | Quando ocorre |
|---|---|
404 | Refund não encontrado |
409 | O refund não pode ser aprovado no status atual (ex.: já terminal) |
Recusar refund
refused.
ID do refund (prefixo
ref_).Motivo da recusa. Quando enviado, deve ter entre 1 e 4000 caracteres. O campo é validado, mas
não substitui o
reason original do refund na resposta (que mantém o motivo informado na criação).Idempotency-Key para reenvios seguros.
Chave única para garantir que a recusa não seja aplicada mais de uma vez.
| Status | Quando ocorre |
|---|---|
404 | Refund não encontrado |
409 | O refund não pode ser recusado no status atual (ex.: já terminal) |
Veja também
Payments
Crie um refund estornando um pagamento.
Transactions
Entenda a transação que originou o pagamento.
Chargebacks
Estornos iniciados pelo emissor do cartão.
Erros
Formato dos erros e como tratá-los.

