expense.transaction.status_changed
Fired when a card or UPI transaction reaches a final outcome. Only final outcomes are sent, so each transaction produces exactly one event. An approved authorization isn’t reported on its own. You hear about it when it succeeds or fails.
Statuses
Fields
Metadata
metadata is open-ended and can gain keys over time. Every outcome includes mccCode (the merchant category code) where available, plus:
Example: declined card payment
Things to know
- To tell UPI from card payments, check
expenseTypeorpaymentChannel. Don’t rely on whethercardis present, because one card can transact over both rails. - Fee-only surcharge transactions don’t create an expense record, so they raise no event.
- Receipts usually arrive after the payment. To get them, subscribe to
expense.attachment.updated.