The notification envelope
Every webhook shares the same envelope. Theevent tells you what happened; the payload is the affected resource.
Event catalog
Payments and charges
Cards and wallets
Example: provisioning driven by webhooks
A common pattern is to let users self-onboard in the Portão 3 app and have your system react to webhooks rather than calling the API yourself. For example, when a user is invited and links a card, you receive: Custom fields are carried ascustomFields on both wallets and transactions — a map keyed by the field definition’s slug ({ "cost-center": "Projetos", "valid": true }). Resolve labels/types by fetching the definitions from the custom-fields API. Use them to attach your own identifiers — a driver’s CPF, a mileage reading, an invoice file.
Only wallet custom-field changes emit a webhook (
WALLET_UPDATED). Changes to a transaction’s custom fields do not emit one — read them back from the transaction itself. (The former TRANSACTION_CUSTOM_FIELDS_UPDATED event is no longer sent.)Looking up an organization
To resolve an organization’s registration details (legal name, document, address) from itsrealmId and organizationId — handy when reconciling webhook payloads — use the Identity organization endpoint:
GET /realms/{realmId}/organizations/{organizationId}
Next steps
Charge with PIX
The simplest webhook-driven flow to test against.
Recurring billing with Pix Automático
The flow with the richest event lifecycle.