← Back to Stripe Error Codes

Stripe Error: Card Declined — What It Means & How to Fix It

A generic card decline from the issuer when no more specific decline code is provided.

What card_declined means in Stripe

The right recovery response depends on whether the decline is temporary, customer-actionable, or unlikely to succeed without a new payment method.

Decline type
Soft or potentially recoverable decline
Retry guidance
Use the decline type to decide whether to retry automatically, wait for customer action, or stop retrying this payment method.

Common causes

  • Issuer risk checks flagged the transaction
  • Temporary issuer outage or strict fraud controls
  • Missing cardholder verification details in edge cases

How to fix it

  1. Prompt the customer to retry or use a different card.
  2. Ensure billing details and CVC checks are enabled and passed where appropriate.
  3. Ask the customer to contact their bank if repeated attempts fail.

Recovery email template

Use this as a starting point when the payment needs customer action.

Subject

Payment update needed for Card Declined

Body

Hi {{customer_name}}, we could not process your latest payment. Please review or update your payment method here: {{billing_portal_link}}.

Related Stripe decline-code questions

What does card_declined mean in Stripe?

It is a Stripe decline code that explains why the issuer or payment network rejected the payment.

Should I retry this failed payment?

Retry only when the decline is likely to recover. Hard declines usually need a new payment method first.

How can RetryKit help?

RetryKit classifies failed invoices, runs timed retries, sends dunning emails, and tracks recovered revenue.

Should you retry this Stripe error?

Soft decline: Usually treated as a soft decline first. Retry carefully and stop after repeated failures. RetryKit can escalate to card-update flows when retries fail.

Stop losing revenue to failed payments. RetryKit automatically recovers failed Stripe payments. Connect in 5 minutes.

Start with RetryKit