Skip to main content
Once cards are issued, you’ll list them, freeze and unfreeze them, and reconcile their transactions. This guide covers the card lifecycle and the webhooks that tell you when something happens on a card.

List cards

Cards are paginated. Pass limit and the next cursor from the previous response to page through results. List the cards in a single wallet:
Or list every card across an account (all wallets):
Both return { "items": [...], "next": "<cursor>" }. Each item carries the masked PAN, status, and your customFields. To read the full PAN and CVV of a specific card, call the details endpoint — see Issue virtual cards. Reference: GET .../wallets/{walletId}/cards · GET .../accounts/{accountId}/cards

Block and unblock a card

Blocking a card sets its status to BLOCKED and stops new authorizations without destroying the card. Unblocking restores it to ACTIVE.
Reference: POST .../cards/{cardId}/block · POST .../cards/{cardId}/unblock

Read a card’s transactions

List the transactions on a card within a date range. Results are paginated with the same next cursor pattern.
Each item describes the authorization and the merchant. Useful fields: Reference: GET .../cards/{cardId}/transactions
To list transactions across a whole wallet (cards, PIX, boleto, and transfers together), use the wallet transactions endpoint described in Wallets for your customers.

Card webhooks

Instead of polling, subscribe to webhooks to react to card activity in real time. All Portão 3 webhooks share the same envelope — see Receive webhooks for the delivery model and how to deduplicate.

A transaction happened on a card

CARD_TRANSACTION (source WALLET) fires when a card is charged; a refused authorization fires CARD_TRANSACTION_REFUSED. The payload mirrors a transaction item: cardId, billingAmount, balanceCategory, and the nested cardTransaction with the merchant details and mcc.

A charge was refunded

CARD_TRANSACTION_REFUNDED (source WALLET) fires when the merchant refunds a charge, fully or partially. The payload is the refund transaction itself, in the same shape as a CARD_TRANSACTION payload — financialImpactType is CREDIT and billingAmount is the refunded amount, which can be less than the original charge. A refund never fires CARD_TRANSACTION, so a subscriber to that event alone sees the charge but not the money coming back.
The original charge’s own transaction gains the mirror link, linkType: "CLEARING_CREDITED_BY", pointing at the refund. Other link types (CLEARING_DEBITS / CLEARING_DEBITED_BY, the settlement of a charge) are processing steps and can be ignored when matching refunds.

A card needs a verification code (tokenization)

When a cardholder adds the card to a device wallet (Apple Pay, Google Pay, Samsung Pay), the issuer sends an activation code you must relay to the cardholder:
Forward activationCode to the cardholder so they can finish validating the card in their device wallet. deviceWalletName is the device wallet as reported by the issuer, and its casing varies (Apple Pay, APPLE PAY). Members of the card’s wallet who use the Portão 3 mobile app also receive the code as a push notification.

Next steps

Receive webhooks

The notification envelope and the full event catalog.

Control card spending

Limits, rules, and available balance.