Skip to main content

Visão geral

O refund-in é a devolução de um recebimento Pix (cash-in). Pode ser total ou parcial, com múltiplas devoluções parciais enquanto o saldo disponível permitir.

Pré-requisitos

Antes de solicitar a devolução, verifique:

Identificadores críticos

O path POST /api/pix/refund-in/{id} exige o UUID do cash-in (campo id retornado no 201 de POST /api/pix/cash-in). Não use o transactionId do parceiro BaaS.

Criar a devolução

Resposta 201:
Persista o id do refund imediatamente. Ele é necessário para consultar o status com GET /api/pix/refund/{id} e para auditoria de devoluções parciais.

Campos

Devoluções parciais

Você pode fazer múltiplas devoluções parciais sobre o mesmo cash-in, desde que a soma total não ultrapasse o valor original. Exemplo: cash-in de R300,00.Devoluc\ca~oparcial1:R 300,00. Devolução parcial 1: R 100,00. Devolução parcial 2: R$ 200,00. A plataforma verifica o teto considerando tanto as devoluções CONFIRMED quanto as PENDING. Se houver devoluções pendentes que somam ao máximo, novas devoluções serão rejeitadas (422).

Monitorar o status

Receber o webhook

Atenção à semântica de event.id: no evento pix_cash_in_reversal, event.id é o UUID do cash-in original, não o UUID do refund-in. O event.external_id é o externalId do refund-in.
Chave de idempotência recomendada: event_type + transaction_id + end_to_end_id do estorno. Evita colisão entre devoluções parciais do mesmo cash-in.

Erros comuns

Auditoria

Para listar todos os refunds:

Referências