---
title: "MED resolved"
method: POST
path: "MED_RESOLVED"
tags: ["Webhooks"]
---

# MED resolved

`POST MED_RESOLVED` (webhook)

A PIX MED reached a terminal outcome.

The HTTP body is this object exactly — there is no envelope and no `type` field. The event name is delivered in the `X-Webhook-Event` header. Most optional fields arrive as an explicit `null`; a few keys are dropped from the JSON entirely when unset, and those are marked as such below. Read values with a null-safe accessor rather than testing key presence.

## Payload

- object
  - `medId` string, uuid, required — MED id.
  - `paymentId` string, uuid, required — Payment id.
  - `resolution` 'ACCEPTED_BY_USER' | 'REJECTED_BY_USER' | 'ACCEPTED_BY_PSP' | 'REJECTED_BY_PSP' | 'CANCELLED_BY_PSP', required — How the MED ended. Switch on this non-exhaustively — new outcomes can be added.
  - `amount` number — Disputed amount in BRL. Absent on the provider-lifecycle paths, which omit the key entirely.
  - `refundId` string, uuid — Refund id, when the resolution produced a refund.
  - `shortfall` number — Unfrozen shortfall, when applicable.
  - `source` string — Names the path that resolved the MED when it was not a direct merchant action, e.g. `onlyup`, `unoip`, `merchant_refund` or `<provider>-reconciler`.

## Acknowledgement `200`

Return a 2xx status to acknowledge receipt.

---

[API](https://skmtc.dev/yuvexpay/apis/yuvexpay-api.md) · [All operations](https://skmtc.dev/yuvexpay/apis/yuvexpay-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/yuvexpay/yuvexpay-api/revisions/9d4ba1cc037c/schema)
