Webhooks

You can configure a webhook URL on your API key to receive POST notifications with Content-Type: application/json. The transactions.paid event reports payment confirmation; its payload contains event and data, including id, status, payer, paid_at, subtotal, fee, and total.

Payment notification · partial example
{
  "event": "transactions.paid",
  "data": {
    "id": "TRANSACTION_ID",
    "status": "paid",
    "payer": "PAYER_USER_ID",
    "paid_at": "2026-10-05T12:05:00.000Z",
    "subtotal": 1000,
    "fee": 69,
    "total": 1069
  }
}

The expiration event is transactions.expired, with the transaction in data and status: expired. In the current implementation, Wallet endpoint authentication loads only the key ID, key status, and permissions; it does not load the webhook URL on that path, so do not rely on a notification when canceling through DELETE.

Current webhooks have no signature or retry guarantee. Treat a notification as a signal to retrieve the transaction by ID and verify it against your stored data. Process each payment only once and keep retrieval as a fallback if a notification does not arrive.