Overview
The removeCard() method removes an enrolled card. The card will no longer be available for new intents. The card can be re-enrolled later via collectPAN().
Existing active intents using this card are not automatically cancelled — delete them explicitly if needed.
Method Signature
prava . removeCard ( params : { cardId: string }): Promise < RemoveCardResult >
Parameters
Card ID to remove (from collectPAN() or listCards())
Return Value
Example
import { PravaSDK } from '@prava-sdk/core' ;
function CardItem ({ card , onRemoved }) {
const prava = new PravaSDK ({ publishableKey: 'pk_live_xxx' });
async function handleRemove () {
if ( ! confirm ( `Remove card ending in ${ card . last4 } ?` )) return ;
try {
await prava . removeCard ({ cardId: card . cardId });
onRemoved ( card . cardId );
} catch ( error ) {
alert ( `Failed to remove card: ${ error . message } ` );
}
}
return (
< div >
< span >{card. brand } •••• { card . last4 } </ span >
< button onClick = { handleRemove } > Remove </ button >
</ div >
);
}
Use Cases
Card Management
const cards = await prava . listCards ();
async function handleRemove ( cardId : string ) {
await prava . removeCard ({ cardId });
// Refresh the card list
const updated = await prava . listCards ();
setCards ( updated );
}
Remove and Re-enroll
// Remove old card
await prava . removeCard ({ cardId: 'enr_old123' });
// Enroll new card
const session = await createSessionOnServer ();
const newCard = await prava . collectPAN ({
sessionToken: session . session_token ,
iframeUrl: session . iframe_url ,
container: '#card-form' ,
});
Error Handling
Code Cause Resolution CARD_NOT_FOUNDCard ID doesn’t exist or already removed Refresh card list
Best practice : Always show a confirmation dialog before calling removeCard() to prevent accidental deletions.
Next Steps
Collect PAN Enroll a new card
Register Intent Create payment intents