Triggered when a card was failed to issue
Sample Request Payload
The deprecated
panandcvvfields are no longer populated and are alwaysnull; they will be retired soon.
{
"card":{
"cardId":"8f9c080b-b6a7-4208-aa42-8666e1482f93",
"idempotencyKey":"f3f68ce3-c1eb-4e19-8b22-1ebaef3381f9",
"status":"Failed",
"name":"Seisjrklardy Vfcskrqycugqa",
"last4":"2575",
"address":"Ewpkjuwpwg",
"isActive":true,
"clientNote":null,
"currency":"GBP",
"dateEnteredUtc":"2025-09-29T07:55:09.119Z",
"purseId":4357502.0,
"error":{
"code":"FailedToSelectCardProgram",
"description":"No card program matched the requested currency",
"internalErrorCode":63010
}
},
"event":"CardIssuanceFailed",
"pan":null,
"cvv":null
}Why the issuance failed
card.error carries the reason. It is present on this webhook because card.status is Failed.
| Field | Type | Description |
|---|---|---|
card.error.code | string | Coarse classification: Unknown, FailedToSelectCardProgram or InternalError |
card.error.description | string | A diagnostic sentence. It may name internal parameters and is not a partner-facing message — do not show it to an end user |
card.error.internalErrorCode | integer | null | The specific reason, from the same vocabulary a failed API request uses. See Cards API Error Codes. null when the failure carried no specific reason — fall back to code |
Branch on internalErrorCode rather than on code or on the text of description: code is too coarse to act on, and description is diagnostic wording that can change.
