A card transaction is not a single event — it’s a parent row plus a stream of child events from the card network. This page covers the event model, the status transitions, and how to handle theDocumentation Index
Fetch the complete documentation index at: https://ramps-moonrise-limestone.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
EXCEPTION path.
The event model
For each card authorization, Grid produces:- One parent
CardTransaction— created at auth time, persists for the life of the transaction. - Pulls — debits against the funding source that fund approved auths and any post-hoc settlements.
- Clearings — the network’s confirmation that funds have moved.
- Refunds — merchant-initiated
RETURNevents.
pullSummary, settlementSummary, and refundSummary.
You don’t see per-child rows on the list endpoint — they’re summarized
on the parent.
Status transitions
| Status | Meaning |
|---|---|
AUTHORIZED | Auth approved, hold placed, no clearings yet. |
PARTIALLY_SETTLED | At least one clearing landed, but more are still expected (split shipments, multi-leg trips). |
SETTLED | All clearings for the auth have posted. The transaction is closed against the funding source. |
REFUNDED | A RETURN was received and the net settled amount has been refunded in full or part. |
EXCEPTION | The transaction settled to the network but the corresponding pull from the funding source failed. |
CARD_TRANSACTION.UPDATED webhook with the
post-change parent.
The over-auth path
The most common non-trivial flow is the over-auth (e.g. restaurant tip). The auth comes in at 15.00.- Auth approved → one pull for $12.50 → parent is
AUTHORIZED. - Clearing for 2.50 → parent is
SETTLEDwithpullSummary.count = 2,settlementSummary.totalAmount = 1500.
authorizedAmount: 1250,
settledAmount: 1500, two pulls.
The EXCEPTION path
An exception happens when the card network has already moved funds for a settlement but Grid can’t pull the matching amount from the funding source — typically because the cardholder’s balance no longer covers the post-hoc difference. Signals to watch:- A
CARD_TRANSACTION.UPDATEDwebhook withstatus: "EXCEPTION". pullSummary.pendingCount > 0that fails to drop to zero in the expected settlement window.
Idempotency on webhooks
EveryCARD_TRANSACTION.UPDATED webhook carries a unique id. Track
processed webhook IDs and treat duplicates as no-ops — Grid retries
failed deliveries, and your reconciliation should be safe under
at-least-once delivery.