{
"event": "CARD_TERMINATION_REFUND_POST",
"eventId": "evt_01HXY7890XYZABCDE",
"businessId": "BUS1A2B3C4D5E6F",
"environment": "LIVE",
"timestamp": "2026-07-08T14:30:00Z",
"data": {
"cardId": "crd_01HXYZ5555ABCDEF1111",
"cardholderId": "chd_01HXYZ1111ABCDEF0000",
"amount": 4.25,
"currency": "USD",
"reference": "a1b2c3d4e5f6a7b8c9d0e1f2",
"timestamp": "2026-07-08T14:30:00Z"
}
}
{}
Card Events
CARD_TERMINATION_REFUND_POST
Fired when funds arrive on an already-terminated card and are refunded back to your program.
WEBHOOK
CARD_TERMINATION_REFUND_POST
{
"event": "CARD_TERMINATION_REFUND_POST",
"eventId": "evt_01HXY7890XYZABCDE",
"businessId": "BUS1A2B3C4D5E6F",
"environment": "LIVE",
"timestamp": "2026-07-08T14:30:00Z",
"data": {
"cardId": "crd_01HXYZ5555ABCDEF1111",
"cardholderId": "chd_01HXYZ1111ABCDEF0000",
"amount": 4.25,
"currency": "USD",
"reference": "a1b2c3d4e5f6a7b8c9d0e1f2",
"timestamp": "2026-07-08T14:30:00Z"
}
}
{}
Fires when money lands on an already-terminated card and is returned to your program balance. This happens for:
- a later reconciliation/discrepancy refund from the provider, or
- a merchant refund that posts to a card after it was terminated.
CARD_TERMINATION_REFUND, this event can fire multiple times for the same card — once per incoming refund. Each delivery carries a distinct reference (the provider transaction id) and is credited exactly once.
Event Type
CARD_TERMINATION_REFUND_POST
Payload
{
"event": "CARD_TERMINATION_REFUND_POST",
"eventId": "evt_01HXY7890XYZABCDE",
"businessId": "BUS1A2B3C4D5E6F",
"environment": "LIVE",
"timestamp": "2026-07-08T14:30:00Z",
"data": {
"cardId": "crd_01HXYZ5555ABCDEF1111",
"cardholderId": "chd_01HXYZ1111ABCDEF0000",
"amount": 4.25,
"currency": "USD",
"reference": "a1b2c3d4e5f6a7b8c9d0e1f2",
"timestamp": "2026-07-08T14:30:00Z"
}
}
Payload Fields
| Field | Type | Description |
|---|---|---|
cardId | string | The terminated card the refund posted to |
cardholderId | string | The cardholder the card belonged to |
amount | number | Refunded amount, credited to your program balance |
currency | string | ISO-4217 currency of the refund |
reference | string | Provider transaction id — unique per refund; use it as your idempotency key |
timestamp | string | ISO 8601 time the refund was processed |
Common Use Cases
- Capture merchant refunds that arrive after a card is terminated
- Reconcile discrepancy refunds against your program ledger
Always deduplicate on
reference. Because this event can fire several times for one card,
per-card deduplication would incorrectly drop legitimate later refunds.{
"event": "CARD_TERMINATION_REFUND_POST",
"eventId": "evt_01HXY7890XYZABCDE",
"businessId": "BUS1A2B3C4D5E6F",
"environment": "LIVE",
"timestamp": "2026-07-08T14:30:00Z",
"data": {
"cardId": "crd_01HXYZ5555ABCDEF1111",
"cardholderId": "chd_01HXYZ1111ABCDEF0000",
"amount": 4.25,
"currency": "USD",
"reference": "a1b2c3d4e5f6a7b8c9d0e1f2",
"timestamp": "2026-07-08T14:30:00Z"
}
}
{}
Authorizations
API key from the FYATU CaaS portal. Pass as Authorization: Bearer <key>.
Body
application/json
Response
200
Acknowledge the event.

