Reembolsar um Checkout
Reembolsa integralmente um Checkout pago (PIX ou Cartão). O valor reembolsado é igual ao valor original da transação — reembolsos parciais não são suportados.
Obrigatório
id é obrigatório — o ID público do recurso a reembolsar.id aceita:
Regras de negócio
- Reembolso total apenas — o valor é sempre igual ao valor original da transação.
- Métodos suportados —
PIX,PIX_QRCODEeCARD. Boleto, TED e movimentações internas não são reembolsáveis via API. - Estado exigido:
PIX/PIX_QRCODE— transação precisa estarCOMPLETE.CARD— transação precisa estarAPPROVEDouCOMPLETE.
- Disputas — transações em disputa (
UNDER_DISPUTEoumetadata.underDispute=true) não podem ser reembolsadas por este endpoint. - Saldo — o valor é debitado do saldo
availableda loja (oupending, em casos específicos deCARD). Sem saldo, retornaINSUFFICIENT_FUNDS. - Modo dev (sandbox) — em
devModeo reembolso é confirmado instantaneamente, sem chamar o provider real. - Status final após o reembolso:
- A transação original vira
REFUNDED. - O billing vira
REFUNDED. - O payment intent vira
REFUNDED. - É criada uma nova transação
WITHDRAWrepresentando o reembolso (retornada emrefundPublicId).
- A transação original vira
checkout.refunded. Configure seu endpoint em Webhooks para receber a notificação.Códigos de erro
Exemplo cURL
Authorizations
Todas as requisições devem incluir sua chave de API no header Authorization usando o formato Bearer <abacatepay-api-key>. Sem esse header a requisição será rejeitada.
Saiba mais sobre como criar e usar chaves de API na documentação de autenticação.
Body
ID público do recurso a reembolsar. Aceita os prefixos char_ / pix_char_ / card_ (payment intent) ou bill_ (billing — resolvido para o payment intent pago).
"bill_abc123xyz"
Motivo do reembolso. Aparece no histórico da transação.
500"Pedido cancelado pelo cliente."