Webhook event
Card Authorization Request
CARD_AUTHORIZATION_REQUESTSent synchronously to an External-authorization project. First Leeward POSTs the proposed authorization and blocks on your approve/decline decision, which you return in the HTTP response body within the request timeout. This is the only webhook whose response First Leeward consumes: a non-2xx, timeout, or unparseable body is treated as a decline (fail closed).
Body
application/json
idstringrequiredUnique event identifier for idempotency
typestringrequiredWebhook event type
CARD_AUTHORIZATION_REQUESTdataobjectrequiredA real-time authorization request awaiting an approve/decline decision
Show child attributes
transactionIdstring<uuid>requiredIdentifier of the transaction this authorization belongs to. On the first authorization it is the id the transaction is created with; on an incremental authorization it is the id of the existing pending transaction being extended. Matches id on the subsequent transaction webhooks.
eventIdstring<uuid>requiredUnique identifier for this authorization event. Appears as triggerEventId and within events on the subsequent transaction webhooks - use it to correlate this request with the async lifecycle.
accountIdstring<uuid>requiredAccount linked to the card
cardIdstring<uuid>requiredCard used for this transaction
channelstringrequiredTransaction channel
ATMPOSECOMMERCEVISA_DIRECTdigitalWalletstring | nullrequiredDigital wallet used, or null if physical card
APPLE_PAYGOOGLE_PAYMERCHANT_TOKENcurrencystringrequiredCard currency
amountnumberrequiredAmount to authorize, charged to the cardholder (card currency)
originalCurrencystringrequiredOriginal transaction currency (merchant local currency)
originalAmountnumberrequiredAmount to authorize, in the original transaction currency
feesobjectrequiredCardholder fee breakdown in the card billing currency. Always present; zeros when no fee applied.
Show child attributes
atmnumberrequiredATM withdrawal markup charged to the cardholder (card currency)
fxnumberrequiredFX markup charged to the cardholder (card currency)
merchantobjectrequiredMerchant details
Show child attributes
cardAcceptorIdstring | nullrequiredCard acceptor ID (often called the merchant ID or MID), assigned by the merchant's acquirer and passed on by the card network. It is unique only within one acquirer, and one merchant can have several (for example one per terminal). Combine it with name, country, and mccCode when matching merchants. null when the network did not provide one.
namestringrequiredMerchant name
citystring | nullrequiredMerchant city
postCodestring | nullrequiredMerchant postal or ZIP code
statestring | nullrequiredMerchant state or province
countrystringISO 3166-1 alpha-2 country code
mccCodestringrequiredMerchant Category Code
mccCategorystringrequiredMCC category description
occurredAtstringrequiredISO 8601 timestamp of when the authorization was initiated
Response
200Webhook received successfully. Return any 2xx status to acknowledge.
