1. Webhooks
Pix2DePix API
  • ⚡ Quickstart
  • Guides
    • 🔑 Authentication
    • 🔄 Possible Statuses
    • 🔀 Synchronous requests & safe retries
    • ⚠️ Errors & the response envelope
    • 🧩 Troubleshooting
    • ✅ Best Practices
    • 🚀 Features
      • ⏱️ QR Delay
    • 🛡️ Security & Limits
      • 🚦 API Limits
      • 🧱 Firewall
      • 🪲 Bug Bounty
  • API Endpoints
    • Ping
      GET
    • Deposit (PIX ➔ DePix)
      POST
    • Deposit Status
      GET
    • Deposits
      GET
    • User Info
      GET
    • Withdraw
      POST
    • Withdraw Status
      GET
  • Webhooks
    • 🪝 Webhooks
    • Deposit Webhook
    • Withdraw Webhook
    • MED Webhook
  • Reference
    • 📖 Glossary
    • 📝 Changelog
  • Schemas
    • JWTClaims
    • ErrorObj
    • PingObj
    • ErrorResponse
    • DepositObj
    • PingResponse
    • DepositResponse
    • DepositStatusObj
    • DepositStatusResponse
    • DepositWebhookBody
    • DepositsResponse
    • DepositStatus
    • UserInfoResponse
    • WithdrawStatusResponse
    • WithdrawStatusObj
    • WithdrawResponse
    • WithdrawObj
    • WithdrawStatus
    • WithdrawWebhookBody
    • MEDWebhookBody
    • RejectionReasons
  1. Webhooks

MED Webhook

Webhook
POST
med
A MED (Pix refund claim) was opened against a deposit. Deliveries are not ordered. Sent as POST to the URL registered for this partner, with Authorization: Basic <secret> carrying the registered secret verbatim. Registration is done through the Telegram bot, not through this API. Respond within 15 seconds. A failed delivery is NOT retried: reconcile with GET /deposits instead of waiting for a second attempt, and still deduplicate on qrId.

Request

Authorization
API Key
Add parameter in header
Authorization
Example:
Authorization: ********************
or
Body Params application/jsonRequired

Example
{
    "webhookType": "med",
    "qrId": "019b76daa8007000000000000000000d",
    "bankTxId": "processor_E12345678202601010000a1b2c3d4e5f",
    "blockchainTxID": "ce45cbc2f7bdbf9ddda5e7a9fac1e2135c3be2b342b4a93c9a06032672fbf8cc",
    "creationDateReport": "2026-01-02T00:00:00-03:00",
    "euid": "EU011234567890128",
    "name": "Maria Silva Souza",
    "partnerId": "acme",
    "principalValueInCents": 15000,
    "taxNumber": "12345678909"
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://your-api-server.com' \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
    "webhookType": "med",
    "qrId": "019b76daa8007000000000000000000d",
    "bankTxId": "processor_E12345678202601010000a1b2c3d4e5f",
    "blockchainTxID": "ce45cbc2f7bdbf9ddda5e7a9fac1e2135c3be2b342b4a93c9a06032672fbf8cc",
    "creationDateReport": "2026-01-02T00:00:00-03:00",
    "euid": "EU011234567890128",
    "name": "Maria Silva Souza",
    "partnerId": "acme",
    "principalValueInCents": 15000,
    "taxNumber": "12345678909"
}'

Responses

🟢200
Acknowledged. The API accepts 200 or 201; any other status is recorded as a delivery failure.
This response does not have a body.
🟢201
Modified at 2026-08-26 21:34:42
Previous
Withdraw Webhook
Next
📖 Glossary
Built with