Skip to main content
Most flows in these guides finish asynchronously — a PIX is paid, a card is charged, a recurring cycle settles. Portão 3 tells you about these by webhook. Your account manager registers the HTTPS endpoint that receives them; deliveries are sent over HTTPS to that pre-registered URL.

The notification envelope

Every webhook shares the same envelope. The event tells you what happened; the payload is the affected resource.
Webhooks can be delivered more than once. Treat notificationId as an idempotency key: record the ones you’ve processed and ignore repeats. Always respond 2xx quickly and do your processing asynchronously.

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 as platformCustomFields (on a wallet) or customFields (on a transaction), each an array of { label, identifier, values, type }. Use them to attach your own identifiers — a driver’s CPF, a mileage reading, an invoice file — and reconcile them when the matching *_UPDATED webhook arrives.
Webhook payloads and custom fields can carry personal data (names, CPF/CNPJ, emails, addresses). Store only what you need, keep it out of plaintext logs, and follow your own retention and minimization obligations under the LGPD.

Looking up an organization

To resolve an organization’s registration details (legal name, document, address) from its realmId and organizationId — handy when reconciling webhook payloads — use the Identity organization endpoint:
Reference: 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.