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

Deposit Webhook

Webhook
POST
deposit
Deposit reached a terminal or notable state. Deliveries for the same payment are 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, except the refund announcement, which a durable job redelivers (Webhooks). Reconcile with GET /deposits rather than 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": "deposit",
    "bankTxId": "processor_E12345678202601010000a1b2c3d4e5f",
    "blockchainTxID": "ce45cbc2f7bdbf9ddda5e7a9fac1e2135c3be2b342b4a93c9a06032672fbf8cc",
    "customerMessage": "Pedido 4821",
    "payerName": "Maria Silva Souza",
    "payerTaxNumber": "12345678909",
    "pixKey": "550e8400-e29b-41d4-a716-446655440000",
    "qrId": "019b76daa8007000000000000000000d",
    "status": "approved",
    "valueInCents": 15000,
    "expiration": "2026-01-01T00:20:00-03:00",
    "payerEUID": "EU011234567890128",
    "delayUntil": null
}

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": "deposit",
    "bankTxId": "processor_E12345678202601010000a1b2c3d4e5f",
    "blockchainTxID": "ce45cbc2f7bdbf9ddda5e7a9fac1e2135c3be2b342b4a93c9a06032672fbf8cc",
    "customerMessage": "Pedido 4821",
    "payerName": "Maria Silva Souza",
    "payerTaxNumber": "12345678909",
    "pixKey": "550e8400-e29b-41d4-a716-446655440000",
    "qrId": "019b76daa8007000000000000000000d",
    "status": "approved",
    "valueInCents": 15000,
    "expiration": "2026-01-01T00:20:00-03:00",
    "payerEUID": "EU011234567890128",
    "delayUntil": null
}'

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
🪝 Webhooks
Next
Withdraw Webhook
Built with