Use PUT /v2/transactions/{id}/refund para solicitar reembolso total ou parcial (quando suportado).
Fluxo rápido
- Validar elegibilidade da transação no seu sistema
- Enviar pedido de reembolso
- Acompanhar atualização via webhook
- Reconciliar por
GET /v2/transactions/{id}
Campos mais usados no reembolso:
| Campo | Obrigatório | Exemplo | Observação |
|---|
amount | não | 500 | em centavos; omitido = tentativa de reembolso total |
reason | não | requested_by_customer | texto livre para auditoria |
Exemplo SDK TypeScript
const refunded = await client.transactions.refund(
"id-da-transacao",
{ amount: 500, reason: "requested_by_customer" },
{ idempotencyKey: "idem-refund-001" },
);
console.log(refunded.data);
Exemplo HTTP (cURL)
curl --request PUT \
--url https://api.pagou.ai/v2/transactions/{id}/refund \
--header "Content-Type: application/json" \
--header "Authorization: Bearer SEU_TOKEN" \
--data '{
"amount": 500,
"reason": "requested_by_customer"
}'
Pós-reembolso
- Atualize estado financeiro no webhook
- Reconsulte a transação para confirmar
refunded_amount e status final
- Mantenha
idempotencyKey no backend para evitar duplicidade
Reembolsos parciais não estão disponíveis para todos os provedores e dependem da disponibilidade do provedor upstream.
Endpoint de referência: /pix/endpoints/refund-payment