Suspend a card
Last updated: August 27, 2025
If you suspect your cardholder's card has been lost, stolen, or used for fraudulent activity, you can suspend the card to temporarily freeze it and automatically block any new transactions.
The following actions are still allowed on a suspended card:
- Authorization requests linked to a previous transaction, for example, an incremental authorization
- Chargebacks
- Recurring payments through merchant-initiated transactions (MITs)
- Refunds
- Reversals
- Tokenization
You can suspend a card using:
You must have on of the following user roles:
- Admin
- A custom role with the
Manage Issuing data
permission
- Sign in to the Dashboard.
- Go to Issuing > Cards.
- Select the card you want to suspend.
- In the Card details page that appears, select Suspend card.
Call the Suspend a card endpoint, and provide the card ID prefixed with crd_
as the {cardId}
path parameter.
In the request body, set the reason
field to one of the following reasons for suspending the card:
suspected_lost
suspected_stolen
post
https://api.checkout.com/issuing/cards/{cardId}/suspend
1{2"reason": "suspected_lost"3}
1{2"_links": {3"self": {4"href": "https://api.checkout.com/issuing/cards/crd_fa6psq42dcdd6fdn5gifcq1491"5},6"activate": {7"href": "https://api.checkout.com/issuing/cards/crd_fa6psq42dcdd6fdn5gifcq1491/activate"8},9"revoke": {10"href": "https://api.checkout.com/issuing/cards/crd_fa6psq42dcdd6fdn5gifcq1491/revoke"11}12}13}
You can now either reactivate the suspended card, or permanently revoke it.
After you've integrated the Card Management Android SDK or iOS SDK, you can suspend cards in your mobile app.
Follow these steps:
- Call the
getCards()
method to get a list of the cardholder's cards:
1cardManager.getCards { result: Result<List<Card>> ->2result.onSuccess {3// You receive a list of the cardholder's cards that you can display in your UI4// The card details returned include the last four digits of the PAN, expiry date, cardholder name, card status, and card ID5}.onFailure {6// If something goes wrong, you receive an error with more information7}8}
- Call the
Card.possibleStateChanges()
method to request the possible statuses you can change the card to:
1// Returns a list of possible statuses you can change the card to2val possibleNewStates = card.possibleStateChanges34// You can suspend the card if the status was returned by possibleStateChanges5if (possibleNewStates.contains(CardState.SUSPENDED)) {6// Optionally, you can pass the reason for suspending the card7val reason: CardSuspendReason? = CardSuspendReason.LOST8card.suspend(reason, completionHandler)9}
- Complete the change to
suspended
status:
1fun cardStateChangeCompletionHandler(result: Result<Unit>): Unit {2result3.onSuccess {4// The card status is successfully updated and reflected by both the back end and the SDK5}.onFailure {6// If something goes wrong, you receive an error with more details7}8}
You can configure webhooks to be notified when cards are suspended: