Actually, this use case has a place even given the limitation of not storing CVCs. For example, Apple and Amazon both occasionally ask for CVC value when purchasing with a saved card.
- When creating storing a new card, Stripe.js allows a CVC value to be passed along with card details and does a check on the CVC (presumably).
- Stripe.js could allow a stored card ID + CVC value to check to be sent and return a true/false result of the CVC check. This wouldn’t necessitate storing the CVC, just merging the supplied CVC value with the stored card details referenced by the ID and re-run the CVC check.
Thus you could re-verify a stored card without the customer/user entering all of the card details again before using the API to create a charge against the card.
-Nathan