Transactions
A Transaction represents a card spend event on the payment network. Transactions flow through multiple stages from initial authorization to final settlement.Transaction Lifecycle
- Settlement
- Special Cases
Transaction Types
| Type | Description |
|---|---|
authorization | Initial approval request from merchant |
settlement | Final capture of authorized amount |
refund | Credit returned to cardholder |
reversal | Authorization cancelled before settlement |
force_capture | Settlement without prior authorization |
Transaction Statuses
| Status | Description |
|---|---|
pending | Authorization approved, awaiting settlement |
settled | Transaction completed and posted |
declined | Authorization was rejected |
reversed | Authorization cancelled; hold released |
Transaction Fields
| Field | Type | Description |
|---|---|---|
id | string | Unique transaction identifier |
cardId | string | Card used for transaction |
customerId | string | Owner of the card |
agentId | string | Agent that initiated the spend |
intentId | string | Matched intent (if any) |
amount | number | Transaction amount in cents |
currency | string | Currency code (e.g., USD) |
status | string | Current transaction status |
type | string | Transaction type |
merchant | object | Merchant details |
createdAt | string | Timestamp of transaction creation |
Merchant Object
| Field | Type | Description |
|---|---|---|
name | string | Merchant name |
mcc | string | Merchant Category Code |
city | string | Merchant city |
country | string | Merchant country code |
category | string | Human-readable category |
Intent Matching
When a transaction occurs, Proxy automatically matches it against pending intents for the card.Matching Rules
Amount Tolerance
Transaction amount must be within the configured tolerance of the expected amount (default: +/- 10%)
Merchant Match
Fuzzy matching on merchant name if
expectedMerchant was specifiedMCC Match
MCC must be in
expectedMccs list if specifiedTime Window
Transaction must occur before intent expiration
Match Outcomes
| Status | Description |
|---|---|
matched | Transaction matched all intent criteria |
mismatched | Transaction occurred but didn’t match expectations |
expired | Intent expired before any transaction |
Viewing Transactions
List Transactions
Filter by Card
Filter by Status
Filter by Date Range
Get Single Transaction
Transaction Webhooks
Subscribe to transaction events for real-time notifications:| Event | Description |
|---|---|
transaction.created | New authorization approved or declined |
transaction.updated | Authorization modified (incremental auth, partial reversal) |
transaction.settled | Transaction settled and posted |
transaction.declined | Authorization was declined |
Webhook Payload
Decline Reasons
When a transaction is declined, the response includes a reason:| Reason | Description |
|---|---|
insufficient_funds | Not enough available balance |
card_spending_limit_exceeded | Exceeds card limit |
blocked_merchant | Merchant is blocked |
blocked_mcc | MCC is restricted |
card_frozen | Card is temporarily frozen |
card_canceled | Card has been closed |
policy_violation | Transaction violates policy rules |
no_valid_intent | No matching intent found (when required) |