Skip to main content
POST
Confirmar reembolso realizado
POST /refunds/:id/confirm Faz parte do recurso Reembolsos — o objeto, os status e o ciclo estão lá. Reembolso de boleto sai por transferência feita à mão, e quem faz a transferência é quem sabe que ela aconteceu. Este endpoint é a porta de quem devolveu: ele marca o reembolso como refunded e dispara o webhook refund.refunded. Ele existe apenas para as contas que assumem a devolução em contrato. Quando quem devolve é a plataforma, a confirmação é nossa — e a resposta aqui é 409.
409 quando a devolução não é sua. Confirmar é declarar que o dinheiro saiu; se saiu do nosso caixa, aceitar a declaração de fora inverteria quem responde pelo valor. A sua tela de configurações de reembolso mostra quem devolve nesta conta.
transferNote é obrigatória quando o reembolso não tem dados bancários registrados — ou seja, quando ele ainda está em awaiting_bank_details porque a conta do comprador foi coletada no seu sistema e nunca passou por aqui. Nesse caso a nota é o único registro de que a transferência existiu; sem ela, a resposta é 400. Com os dados já registrados por POST /refunds/:id/bank-details, ela é opcional e continua sendo o melhor lugar para o identificador da transferência.
A transação continua paid depois desta confirmação. O dinheiro não passou por nós: o valor da venda permanece no seu saldo e nada é debitado da sua carteira. Marcar a transação como estornada diria que a venda foi desfeita nos nossos números, quando ela continua paga — então o reembolso aparece no recurso de reembolsos e nos eventos refund.*, e não no status da transação. Isso vale só para este modo; quando a plataforma devolve, a transação segue o desfecho normal do estorno.
Status que aceitam confirmação: bank_details_received, ted_processing, failed e — exclusivamente neste modo — awaiting_bank_details. Qualquer outro responde 409. Um reembolso já refunded não é reconfirmado: a segunda chamada falha, em vez de ser ignorada.
Endpoint idempotente. Envie o header Idempotency-Key para que um retry por timeout não confirme duas vezes. Veja Convenções.

Exemplo

Authorizations

x-api-key
string
header
required

API Key da Credential (gerada no Backoffice)

Headers

Idempotency-Key
string

Chave única para garantir idempotência da requisição

Path Parameters

id
string
required

ID do refund

Body

application/json
transferNote
string | null

Como a transferência foi feita — meio, data e identificador (ex: PIX 10/09, E12345678). Obrigatória quando o reembolso está em awaiting_bank_details.

Maximum string length: 1000

Response

Reembolso confirmado