Skip to main content
WEBHOOK
card.termination_refund_post
{
  "event": "card.termination_refund_post",
  "version": "3.0",
  "eventId": "6b2c9a1d-7e4f-40a8-b3c2-1f9e8d7c6b5a",
  "sign": "8c4768fa5a3e8a36d69942bc066f2c236e920701fa5a4348e3075aa7ead3588",
  "data": {
    "cardId": "a4e8f2b6c9d1e3f7a2b5c8d0e4f1a3b6c9d2e5f8a1b4c7d0e3",
    "cardholderId": "8f4e2a1b3c5d7e9f0a2b4c6d8e0f1a3b5c7d",
    "amount": 4.25,
    "currency": "USD",
    "reference": "a1b2c3d4e5f6a7b8c9d0e1f2",
    "appId": "A1B2C3D4E5F6G7H8",
    "timestamp": "2026-07-08T14:30:00Z"
  }
}
{}
Fired when money lands on an already-terminated card and is returned to your business wallet. This happens for:
  • a later reconciliation/discrepancy refund from the provider, or
  • a merchant refund that posts to a card after it was terminated.
Unlike card.termination_refund, this event can fire multiple times for the same card. Each delivery carries a distinct reference (the provider transaction id) and is credited exactly once — always deduplicate on reference.
{
  "event": "card.termination_refund_post",
  "version": "3.0",
  "eventId": "6b2c9a1d-7e4f-40a8-b3c2-1f9e8d7c6b5a",
  "sign": "8c4768fa5a3e8a36d69942bc066f2c236e920701fa5a4348e3075aa7ead3588",
  "data": {
    "cardId": "a4e8f2b6c9d1e3f7a2b5c8d0e4f1a3b6c9d2e5f8a1b4c7d0e3",
    "cardholderId": "8f4e2a1b3c5d7e9f0a2b4c6d8e0f1a3b5c7d",
    "amount": 4.25,
    "currency": "USD",
    "reference": "a1b2c3d4e5f6a7b8c9d0e1f2",
    "appId": "A1B2C3D4E5F6G7H8",
    "timestamp": "2026-07-08T14:30:00Z"
  }
}
{}

Body

application/json
event
string

The event type identifier.

version
string

Webhook payload version.

sign
string

HMAC-SHA256 signature of the data object using your webhook secret. Always verify this before processing.

data
object

Response

200

Acknowledge receipt of the event