Infractions (MED)
The MED (Special Refund Mechanism) is the Bacen process for contesting Pix in cases of fraud, payer error or well-founded suspicion. When a received charge becomes a dispute, Saq creates an infraction and you can submit a defense via API.
The response deadline is set by Bacen, usually 72h. Without a defense within the deadline, the amount may be refunded automatically. Configure an internal alert when receiving the callback with infraction.
List infractions
curl "https://api.saq.processamento.com/v1/user/infractions?status=OPEN&page=1&limit=50" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json"Schema at GET /user/infractions.
Infraction detail
Returns reason, contested amount, deadline and the related transaction.
curl "https://api.saq.processamento.com/v1/user/infractions/INFRACTION_ID" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json"Schema at GET /user/infractions/{id}.
Submit defense
curl -X POST "https://api.saq.processamento.com/v1/user/infractions/INFRACTION_ID/defenses" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{}'Schema at POST .../defenses.
The body schema for this operation is not published in the public spec. To submit a defense with justification and attachments, contact support to confirm the fields.
Track defenses
List all submitted defenses:
curl "https://api.saq.processamento.com/v1/user/infractions/INFRACTION_ID/defenses" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json"Schema at GET .../defenses and GET .../defenses/{defenseId}.
Best practices
- Automatic alert when receiving
infractionin the callback, the deadline is short. - Persist the infraction's
expiresAtand create a scheduled task. - Keep evidence (DICT logs before the payment, receipt, conversation with customer), it makes the defense easier.
- Accept or contest quickly, silence is usually interpreted as acceptance.
Full MED details, statuses and lifecycle at MED, full overview.
Need help?
Conciliação
Mesmo com callbacks confiáveis, todo sistema sério bate as transações da Saq com o banco interno diariamente. Aqui você aprende a listar transações em tempo real, gerar relatórios assíncronos para janelas grandes e usar clientReference para fechar o ciclo.
Webhooks
O sistema de webhooks da Saq envia notificações em tempo real sobre mudanças de status de transações. Ao criar uma transação e fornecer um callbackUrl, atualizamos automaticamente sua aplicação a cada mudança. Inclui retry com backoff exponencial de até 72 tentativas.