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://grid.lightspark.com/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. |
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, and two pulls in its pullSummary.
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. Signal to watch: a transaction webhook withstatus: "EXCEPTION" for
a card-destination transaction. The payload includes the full parent
record, so your dashboard’s exception view is driven entirely by
webhook deliveries — there’s no list endpoint to poll.
Exceptions don’t roll back automatically. The standard response is to
top up the funding source (or move the customer to a state where their
balance can be collected) and contact Lightspark support to drive the
exception to resolution.
Idempotency on webhooks
Every transaction webhook carries a uniqueid. 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.
See Webhooks for signature
verification and the full payload shape.