EXCEPTION path.
The event model
For each card authorization, Grid produces:- One
CardTransactionper purchase — 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. A return against a known purchase opens its own datedCardTransactionrow (direction: CREDIT) linked to the purchase viaoriginalTransactionId, so statements can list it as its own line.
settledAmount total; the returned value lives on the refund row.
Status transitions
RETURN does not move the purchase’s status. The purchase stays
SETTLED; the return posts as its own CREDIT transaction.
Every transition is delivered as a
CARD_TRANSACTION.* webhook carrying
the post-change parent — see Webhooks.
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
SETTLEDwithsettledAmount: 1500.
authorizedAmount: 1250 and
settledAmount: 1500.
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.