CVV and AVS mismatches — the scenario the card number can't control.
Every other scenario on this site is triggered by the card number. This one is different: verification-check failures are controlled by the CVC and billing address you submit alongside the number, not the number itself.
Why This Scenario Breaks the Usual Pattern
Every other test scenario — decline, insufficient funds, expired date — is baked into a specific reserved card number. CVV and AVS (Address Verification Service) checks work differently: they're evaluated against whatever CVC and billing address you actually submit at the time of the request, independent of which card number you're using.
That means the standard "here's the magic number" pattern doesn't apply here — the number can be any valid test card, and the mismatch comes from the accompanying fields.
Stripe: Named Tokens, Not Numbers
Stripe's own testing documentation confirms the mechanism directly: to simulate a failed CVC check, provide any three-digit CVC value — but to force a guaranteed failure regardless of what you enter, Stripe provides dedicated Payment Method tokens rather than card numbers:
| Payment Method token | Simulates |
|---|---|
| pm_card_cvcCheckFail | Guaranteed CVC check failure |
| pm_card_avsZipFail | Guaranteed postal code (AVS) check failure |
What AVS Actually Checks
AVS compares the billing postal code (and sometimes street address) submitted at checkout against the address the card issuer has on file — a mismatch is one of the stronger fraud signals available at checkout, alongside the CVC. Support for AVS varies by country and card issuer; some countries don't use postal codes at all, and not every issuer participates in address verification.
Worth building into your test plan: a failed AVS or CVC check doesn't automatically mean the payment is blocked. Unless you've explicitly configured your processor's fraud rules (like Stripe Radar) to decline on a failed check, a payment can still succeed even with a mismatch — the issuer's own risk model gets the final say.
Related Guides
Frequently Asked Questions
Can I trigger a CVC mismatch using a specific card number instead of a token?
With Stripe specifically, no reliable card number forces a CVC failure — you need the pm_card_cvcCheckFail token, or you can submit an incorrect CVC value with a regular test card, though that only works if your integration actually performs the check rather than silently skipping it.
Why didn't my CVC mismatch test actually fail the payment?
Most likely because a failed verification check doesn't automatically decline a payment unless you've configured a fraud rule to enforce it. The check result is reported to you, but the issuer's own risk model still makes the final call by default.
Does every country support AVS checking?
No — AVS support varies by country and card issuer. Some countries don't use postal codes in the way AVS requires, and not every issuing bank participates in address verification at all.