Short answer
In Stripe test mode, enter 123 in the CVC field when you use a standard test card such as 4242 4242 4242 4242. Stripe accepts any three digits for that card. American Express test cards use a four digit security code, so enter 1234. The exact digits only change the outcome when you pick a card built to fail a CVC check, such as 4000 0000 0000 0127.
Test mode runs on separate keys and never touches live card networks. Nothing you type into a test checkout is a real card, a real CVV, or a real charge.
Prerequisites
- A Stripe account with the Test mode toggle available
- Test API keys that start with pk_test_ and sk_test_
- A test card number from the official Stripe test card list
- A reachable checkout page, payment form, or the Stripe CLI
Run a test payment step by step
- Sign in to the Stripe Dashboard and turn the Test mode switch on.
- Copy a test card number, for example 4242 4242 4242 4242 (Visa).
- Open your checkout page or start a PaymentIntent with your test secret key.
- Paste the test card number into the card number field.
- Enter any future expiry date, such as 12/34.
- Enter 123 in the CVC field, or 1234 if the card number belongs to American Express.
- Submit the payment and confirm the charge appears under Test payments in the Dashboard.
CVV samples by card brand
- Visa test cards (4242 4242 4242 4242): any three digits, 123 is the common choice.
- Mastercard test cards (5555 5555 5555 4444): any three digits.
- Discover test cards (6011 1111 1111 1117): any three digits.
- American Express test cards (3782 822463 10005): any four digits, 1234 is typical.
Stripe checks the card number before it looks at the CVC. If the number is not on the test list, the payment fails on the number itself and the CVC value never matters.
Trigger a CVC failure on purpose
Use 4000 0000 0000 0127 to simulate an incorrect CVC response. Enter any three digits in the CVC field and Stripe returns a decline code tied to a failed CVC check. This lets you confirm that your error handling shows the right message, logs the decline code, and asks the customer to re-enter the code instead of losing the whole order.
Related decline cards behave the same way. 4000 0000 0000 0002 produces a generic decline. 4000 0000 0000 0069 returns an expired card error. 4000 0000 0000 0119 simulates a processing error. Each one exercises a different branch in your payment flow.
Test the CVC field itself
- Enter too few digits and confirm the field blocks submission before any API call.
- Enter letters or symbols and confirm the input rejects them.
- Switch between 3 digit and 4 digit fields when the detected brand changes.
- Submit the failing CVC card and check the decline code your server stores.
- Retry with 4242 4242 4242 4242 and 123 to confirm a clean success path.
What not to do
Never store the CVC, CID, or CVV2 value after authorization. PCI DSS treats the security code as sensitive authentication data and forbids retaining it, which is why Stripe only lets you verify the code at the moment of the charge and then discards it. Keep the code out of your database, out of logs, and out of any analytics payload. Test mode values cannot be used to move real money, and live card data belongs only in a PCI compliant environment.