Skip to main content
WEBHOOK
TRANSACTION_PROCESSED
{
  "event":       "TRANSACTION_PROCESSED",
  "eventId":     "evt_01HXY123456ABCDEF",
  "businessId":  "BUS1A2B3C4D5E6F",
  "environment": "LIVE",
  "timestamp":   "2026-06-21T16:05:00Z",
  "data": {
    "transactionId":   "txn_01HXYZ8888ABCDEF9999",
    "cardId":          "crd_01HXYZ5555ABCDEF1111",
    "cardholderId":    "chl_01HXYZ1234ABCDEF5678",
    "externalId":      "my-user-id-789",
    "type":            "PURCHASE",
    "status":          "COMPLETED",
    "amount":          42.50,
    "currency":        "USD",
    "billingAmount":   42.50,
    "billingCurrency": "USD",
    "merchant": {
      "name":           "OPENAI *CHATGPT SUBSCR",
      "id":             "SXONGQUGQWWJUTM",
      "city":           "SAN FRANCISCO",
      "country":        "US",
      "mcc":            "5734",
      "mccDescription": "Computer Software Stores"
    }
  }
}
{}
Fires when a cardholder’s card transaction is processed. This is the single, canonical event for the card-charge lifecycle — a charge is delivered as one event, with the status field describing the outcome:
statusMeaning
COMPLETEDThe charge succeeded and funds were moved
REVERSEDThe charge was reversed or refunded — balance restored
ADJUSTEDAn FX settlement adjustment was applied to a prior charge
There is no separate authorization-then-settlement pair. Subscribe to TRANSACTION_PROCESSED and branch on status.

Event Type

TRANSACTION_PROCESSED

Payload

{
  "event":       "TRANSACTION_PROCESSED",
  "eventId":     "evt_01HXY123456ABCDEF",
  "businessId":  "BUS1A2B3C4D5E6F",
  "environment": "LIVE",
  "timestamp":   "2026-06-21T16:05:00Z",
  "data": {
    "transactionId":   "txn_01HXYZ8888ABCDEF9999",
    "cardId":          "crd_01HXYZ5555ABCDEF1111",
    "cardholderId":    "chl_01HXYZ1234ABCDEF5678",
    "externalId":      "my-user-id-789",
    "type":            "PURCHASE",
    "status":          "COMPLETED",
    "amount":          42.50,
    "currency":        "USD",
    "billingAmount":   42.50,
    "billingCurrency": "USD",
    "merchant": {
      "name":           "OPENAI *CHATGPT SUBSCR",
      "id":             "SXONGQUGQWWJUTM",
      "city":           "SAN FRANCISCO",
      "country":        "US",
      "mcc":            "5734",
      "mccDescription": "Computer Software Stores"
    }
  }
}

Payload Fields

FieldTypeDescription
transactionIdstringUnique transaction identifier
cardIdstringThe card used for the transaction
cardholderIdstringThe cardholder (best-effort — may be absent if not resolvable)
externalIdstring or nullYour internal user ID from the cardholder profile
typestringPURCHASE for charges, REVERSAL for reversals/refunds, ADJUSTMENT for FX adjustments
statusstringCOMPLETED, REVERSED, or ADJUSTED
amountnumberTransaction amount in dollars
currencystringTransaction currency (ISO 4217)
billingAmountnumberAmount in the card’s billing currency, in dollars
billingCurrencystringBilling currency — may differ for cross-border transactions
merchantobjectMerchant details — may be absent for non-purchase transactions
merchant.namestringMerchant name
merchant.idstringMerchant identifier from the network
merchant.citystringMerchant city
merchant.countrystringMerchant country (ISO 3166-1 alpha-2)
merchant.mccstringISO 18245 Merchant Category Code
merchant.mccDescriptionstringHuman-readable MCC description

Common Use Cases

  • Record the transaction in the cardholder’s history and update your ledger
  • Send a real-time push notification: “$42.50 at OpenAI”
  • Implement MCC-based spending controls
  • Reconcile reversals/refunds by handling status: REVERSED
This event replaces the deprecated TRANSACTION_AUTHORIZED, TRANSACTION_CLEARED, and TRANSACTION_REVERSED events. Those remain fully supported for existing integrations — no migration is required — but new integrations should subscribe to TRANSACTION_PROCESSED.
{
  "event":       "TRANSACTION_PROCESSED",
  "eventId":     "evt_01HXY123456ABCDEF",
  "businessId":  "BUS1A2B3C4D5E6F",
  "environment": "LIVE",
  "timestamp":   "2026-06-21T16:05:00Z",
  "data": {
    "transactionId":   "txn_01HXYZ8888ABCDEF9999",
    "cardId":          "crd_01HXYZ5555ABCDEF1111",
    "cardholderId":    "chl_01HXYZ1234ABCDEF5678",
    "externalId":      "my-user-id-789",
    "type":            "PURCHASE",
    "status":          "COMPLETED",
    "amount":          42.50,
    "currency":        "USD",
    "billingAmount":   42.50,
    "billingCurrency": "USD",
    "merchant": {
      "name":           "OPENAI *CHATGPT SUBSCR",
      "id":             "SXONGQUGQWWJUTM",
      "city":           "SAN FRANCISCO",
      "country":        "US",
      "mcc":            "5734",
      "mccDescription": "Computer Software Stores"
    }
  }
}
{}

Authorizations

Authorization
string
header
required

API key from the FYATU CaaS portal. Pass as Authorization: Bearer <key>.

Body

application/json
event
string
Example:

"TRANSACTION_PROCESSED"

eventId
string
businessId
string
environment
enum<string>
Available options:
LIVE,
SANDBOX
timestamp
string<date-time>
data
object

Response

200

Acknowledge the event.