Stripe decline code: incorrect_cvc
Stripe's wording: "The CVC number is incorrect." The customer needs to try again using the correct CVC. There is a separate `invalid_cvc` with the same description — the difference is whether the value was wrong or malformed.
incorrect_cvcAction required
Someone has to do something before this can succeed.
What it means
The card security code did not match what the issuer holds. Stripe lists both `incorrect_cvc` and `invalid_cvc` as decline codes with identical descriptions, and as an error code `incorrect_cvc` reads "The card's security code is incorrect. Check the card's security code or use a different card." A CVC failure is recoverable in a way most declines are not, because the customer is holding the card and can simply read it again.
Common causes
- The customer mistyped the security code.
- The wrong code read off the card — American Express prints a four-digit code on the front, while Visa, Mastercard and others use three digits on the back.
- A stored card being charged with a CVC that was captured at some earlier point and is no longer valid to send.
- The customer entering a code from a different card.
How to fix it
- Ask the customer to re-enter the security code, which is Stripe's documented step. This is one of the few declines where a retry in the moment genuinely works.
- Check your form accepts four digits for American Express. A field hard-capped at three makes every Amex payment fail this way.
- Do not store CVCs and do not resubmit them on subsequent charges — the card networks prohibit storage, and a stale value fails here.
- Label the field with where the code is printed. Front for Amex, back for most others.
Tools that help
Frequently asked questions
- Why does every American Express payment fail with incorrect_cvc?
- Almost certainly a form that only accepts three digits. American Express uses a four-digit code printed on the front of the card; a maxlength of three silently truncates it, and the truncated value never matches.