CARD_AUTHORIZATION_VERIFY.
Event Type
Payload
Payload Fields
| Field | Type | Description |
|---|---|---|
cardId | string | The card that was authorized |
cardholderId | string | The cardholder who holds the card |
amount | number | Authorization amount in dollars |
feeAmount | number | Network or cross-border fee in dollars (may be 0.00) |
currency | string | Authorization currency (ISO 4217) |
merchantName | string | Merchant name from the authorization request |
merchantMcc | string | Merchant Category Code (ISO 18245). Empty string if not provided by the network |
merchantCountry | string | Two-letter country code where the merchant is located. Empty string if not provided |
decision | string | APPROVED or DECLINED |
timestamp | string | ISO 8601 timestamp of the authorization |
JIT Cards
For JIT-enabled cards (isJitfEnabled: true), this webhook fires after the full authorization flow completes:
decision | What happened |
|---|---|
APPROVED | Your server approved (or no CARD_AUTHORIZATION_VERIFY webhook is registered and the program balance was sufficient) |
DECLINED | Your server declined, the program balance was insufficient, or the card was frozen/terminated |
APPROVED, Fyatu has already reserved the funds from the program ledger. You will later receive TRANSACTION_CLEARED when the transaction settles, or TRANSACTION_REVERSED if the merchant cancels.
For pre-funded cards (isJitfEnabled: false), APPROVED means Fyatu has settled the authorization against the card’s own balance — no program ledger movement occurs.
How the JIT Authorization Flow Works
When a cardholder with a JIT card makes a purchase:Common Use Cases
- Display real-time spending activity in your cardholder dashboard
- Trigger in-app notifications (“Your card was charged $42.50 at Amazon”)
- Reconcile authorizations against your internal records before clearing
- Detect unexpected outcomes from your authorization handler
Declined Authorizations
Whendecision is DECLINED, no funds move. Common scenarios:
| Scenario | Action |
|---|---|
Your CARD_AUTHORIZATION_VERIFY handler declined | Check your handler logic or cardholder limits |
| JIT card, program balance insufficient | Top up via Portal or POST /account/deposit |
| Card frozen | Unfreeze via POST /cards/{id}/unfreeze |
| Card terminated | Issue a replacement card |
ACCOUNT_LOW_BALANCE to top up your program before declines start happening.

