# Stripe: incorrect_number, the card number is incorrect

> Stripe returned incorrect_number: the card number is wrong. Show the message, let the customer re-enter the card, and test with Stripe’s Luhn-fail card.

Canonical: https://app369.com/fix/stripe-incorrect-number/
Last updated: 2026-11-09

incorrect_number is the Stripe card error code for a card number that is wrong. The customer needs to enter the number again or use another card, because retrying the same details fails the same way.

**Short answer**

Show Stripe’s error message next to the card field and let the customer type the number again or pick another card. Collect cards with Stripe Elements or Checkout, which check the number as it is typed. Don’t retry the same card automatically.

Rather not fix it yourself? [**Stripe Billing Fix and Setup**](https://app369.com/fixed-price/stripe-billing-setup/) handles it at a fixed price, agreed before work starts.

## **Why the card number fails, and the fix**

1. 01 ### **The customer mistyped the number**
  > “The card number is incorrect. Check the card’s number or use a different card.” [**Stripe, Error codes (incorrect_number)**](https://docs.stripe.com/error-codes) A swapped digit or an old card saved in browser autofill is enough. Keep the form filled in apart from the card field, and show the message so the customer can fix it.
2. 02 ### **Your form skips Stripe’s checks** A custom form that handles raw card numbers skips those checks and puts you in PCI scope. The Payment Element and Checkout flag an incomplete or invalid number before the customer pays.
3. 03 ### **You need to test the error**
  > “Use a card number that fails the Luhn check, such as 4242424242424241.” [**Stripe, Testing (declined payments)**](https://docs.stripe.com/testing) In test mode, a card that fails the number check shows the error. The Payment Element and Checkout block it in the browser, so to test your server-side handling, send the number to the API directly.
4. 04 ### **Your code retries the same card**
  > “The customer needs to try again using the correct card number.” [**Stripe, Decline codes (incorrect_number)**](https://docs.stripe.com/declines/codes) An automatic retry with the same number fails again and creates another failed payment. Wait for the customer to change the details.

Checked against the vendor’s docs on November 9, 2026: [Stripe docs: Decline codes](https://docs.stripe.com/declines/codes); [Stripe docs: Error codes](https://docs.stripe.com/error-codes); [Stripe docs: Testing](https://docs.stripe.com/testing).

## **Rather hand it over?**

Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.

- [$950**Stripe Billing Fix and Setup**Subscriptions, webhooks, customer portal and failed payments set up or fixed, tested in Stripe test mode.**See scope and start**](https://app369.com/fixed-price/stripe-billing-setup/)
- [from $450**App Fix Ticket**One reproducible bug in an existing mobile or web app, diagnosed and fixed.**See scope and start**](https://app369.com/fixed-price/flutter-firebase-bug-fix/)
- [from $450**AI-Built App Rescue**A Lovable, Bolt or Cursor app checked end to end in 3 days, then its worst problems fixed at a fixed price.****No issues worth fixing, no charge.**** If the Launch Check finds nothing rated medium or higher, Simon refunds the full $450. You keep the report either way. This applies to the first 10 Launch Checks bought after October 30, 2026.**See scope and start**](https://app369.com/fixed-price/ai-app-rescue/)

[**All 127 Fiverr reviews**](https://app369.com/reviews/)

Related: [**Stripe incorrect_cvc**](https://app369.com/fix/stripe-incorrect-cvc/) · [**Stripe incorrect_zip**](https://app369.com/fix/stripe-incorrect-zip/) · [**Stripe expired_card**](https://app369.com/fix/stripe-expired-card/) · [**Stripe card_not_supported**](https://app369.com/fix/stripe-card-not-supported/)

Questions

## **More on this error**

<details>

<summary>**What is the difference between incorrect_number and invalid_number? **+</summary>

Both mean the card number is wrong. Handle them the same way: ask the customer to check the number or use another card.

</details>

<details>

<summary>**Can I see the full card number to check it? **+</summary>

No. Stripe shows only the brand and the last 4 digits, so the customer has to check the card.

</details>

<details>

<summary>**Can you fix it for me? **+</summary>

If one bug is the whole problem, the App Fix Ticket covers it: a written diagnosis first, then the fix. If the app has more going on, the Launch Check is a written check of the whole app. Each issue found is rated critical, high, medium or low, with where it is and how it was confirmed. No issues worth fixing, no charge. If the Launch Check finds nothing rated medium or higher, Simon refunds the full $450. You keep the report either way. This applies to the first 10 Launch Checks bought after October 30, 2026.

</details>

A different error?

## **Describe it and get a written quote**

Send the error and what you were doing. You get a written scope, a fixed price and a timeline; Simon replies by email, usually within one business day.

[**Describe your problem **→](https://app369.com/contact/) [**All fixes**](https://app369.com/fix/)