Skip to content
CartAbandon

October 14, 2026 · CartAbandon team · 6 min read

Failed payment decline codes and what to do about each one

Failed payment decline codes are short reasons the card issuer returns when it refuses a charge. Some, like insufficient funds, are temporary and worth a timed retry. Others, like a card reported lost or stolen, are final. Reading the code tells you whether to retry, when, and what to tell the customer.

Card payment terminal and laptop checkout on a shop counter

Soft declines can be retried, hard declines cannot

Every decline falls into one of two groups. Getting this right is the most important step in failed payment recovery.

Type What it means Retry? Typical examples
Soft decline A temporary problem. The card is valid, but the charge failed this time. Yes, on a schedule Insufficient funds, generic decline, processing error, limit exceeded, authentication required
Hard decline A permanent problem. The card cannot be charged as it is. No Card reported lost or stolen, expired card, invalid card number

Soft declines often succeed on a later try, especially after payday or once the customer clears a limit. Hard declines will fail every time, and retrying them can look like fraud to the card issuer. For those, the only fix is a new or updated card from the customer.

The exact code names differ between payment operators, but they map to the same handful of reasons below.

Common decline reasons, what they mean and what to send

Insufficient funds

  • What it means: The account does not have enough money or credit for this charge right now.
  • Retry? Yes. Space retries over several days, and aim for times when money tends to arrive, like the 1st, the 15th or common paydays.
  • Message to send: A short, friendly note that the payment did not go through and you will try again on a set date. Add a secure link to update the card or use another one.

Do not honor or generic decline

  • What it means: The issuer refused the charge without giving a clear reason. It can be a fraud filter, an account block or a rule at the bank.
  • Retry? Yes, once or twice over a few days. If it keeps failing, stop and ask the customer to call their bank or use another card.
  • Message to send: "Your bank declined the payment. This often clears up after a quick call to the number on the back of your card, or you can use a different card here." Plus a secure update link.

Expired card

  • What it means: The card's expiry date has passed.
  • Retry? No. The same card will not work. Some card networks offer automatic card updates that may refresh the details behind the scenes, but do not count on it.
  • Message to send: A clear request to update the card, with a secure link. Explain that their order or subscription is on hold until then.

Incorrect CVC or card number

  • What it means: The security code or card number was typed wrong.
  • Retry? Not with the same details. The customer has to enter them again.
  • Message to send: "The card details did not match. Please check the number and security code and try again here." Link straight back to checkout with the cart saved.

Card reported lost or stolen

  • What it means: The cardholder or the bank has blocked this card.
  • Retry? Never. Retrying a lost or stolen card is a strong fraud signal and can hurt your standing with the card networks.
  • Message to send: A neutral note asking the customer to use a different payment method. Do not mention lost or stolen, since the person you are writing to may not be the person who placed the order.

Authentication required (3D Secure)

  • What it means: The bank wants the cardholder to confirm the payment, usually with a code or a banking app approval.
  • Retry? Not as a silent retry. The customer has to complete the check.
  • Message to send: "Your bank asked you to confirm this payment. It takes a few seconds." Link to a page where they can approve it.

Processing error

  • What it means: Something failed between your store, the payment operator and the bank. It is not the customer's fault.
  • Retry? Yes, soon. A retry within minutes or hours often works.
  • Message to send: Usually none for the first retry. If it still fails, a short note that you could not complete the payment and a link to try again.

Card velocity or limit exceeded

  • What it means: The card hit a spending limit or too many charges in a short time.
  • Retry? Yes, after the limit resets, often the next day or the next billing cycle.
  • Message to send: A note that the payment hit a card limit, with a retry date and a link to use another card if they prefer.

Spread retries over days and line them up with payday

Retrying a soft decline five times in an hour does not help. The money is not there yet, and the issuer sees a pattern it does not like. Good retry timing follows a few rules:

  • Spread retries over days, not minutes. A common pattern is a retry after 1 day, after 3 days and after 5 to 7 days.
  • Match payday patterns. For insufficient funds, retries near the start of the month, mid month or a Friday often work better.
  • Retry at a normal hour. Try during the customer's daytime, not at 3 am in their time zone.
  • Cap the total. Card network rules limit excessive retries on the same card, and repeated failed attempts can lead to fees or extra scrutiny. Set a hard cap and stop there.
  • Never retry hard declines. Lost, stolen, invalid number and closed account mean stop and ask for a new card.

CartAbandon's Recovery Brain reads the decline code for each failed payment, then decides whether to retry, when, and which message to send. For an insufficient funds decline, for example, it sends a payment update message with a secure link, no discount, and times the retry to a payday pattern. You can read the reason for every decision in the panel.

Keep failed payment messages short, calm and transactional

A failed payment message is a service message, not a sales email. The customer already wants the product. They just need a way to pay.

  • No discount. A coupon does not fix a declined card, and it teaches people that a failed payment earns money off.
  • No blame. "Your payment did not go through" is better than "Your card was rejected."
  • One secure link. Send them to a secure page on your store or your payment operator where they can update the card. Nothing else to click.
  • Never collect card numbers by email or SMS. Do not ask customers to reply with card details, and never put a form for card numbers inside an email. Phishing looks exactly like that, and handling card data that way breaks card security rules.
  • Keep it separate from marketing. Payment failure notices are transactional, so they go to every customer with a failed order, but they should never carry promotions. CartAbandon keeps transactional payment notices apart from marketing messages for this reason.

A sample message

Subject line: Your payment for {product_name} did not go through

Hi {first_name}, we could not complete your payment of {amount}. Your order is saved. You can update your card or pay another way here: {secure_link}. We will also try again on {retry_date}. Questions? Reply to this email.

Subscriptions need a dunning sequence, not a single retry

For subscription stores, a failed renewal is the most common way to lose a customer who never meant to leave. This is called involuntary churn. Dunning is the process of recovering it.

A simple dunning sequence:

  1. Day 0. The renewal fails. Retry automatically based on the decline code. No message yet for a processing error.
  2. Day 1. Send a short notice with a secure update link.
  3. Day 3 to 5. Retry. If it fails, send a second notice with a clear date when the subscription will pause.
  4. Day 7 to 10. Final retry and a final notice.
  5. After the last try. Pause the subscription, keep their details, and send one message explaining how to restart.

Keep the subscription running during the first few days if you can. Cutting access on the first failure loses customers who would have fixed the card the next day.

CartAbandon's subscription dunning works with Shopify subscription apps, Recharge and WooCommerce Subscriptions on the Scale and Plus plans. Failed payment and declined card recovery for one-time orders is part of Growth and up. See the failed payment recovery page for how it fits next to cart and checkout flows, and the wider abandoned cart recovery overview for all flows in one place.

FAQ

What is the difference between a soft and a hard decline?

A soft decline is temporary, like insufficient funds or a processing error, and can succeed on a later retry. A hard decline is permanent, like a lost or stolen card, and should never be retried.

How many times should I retry a failed payment?

About 3 to 4 times over 7 to 10 days is a common pattern for soft declines. Card network rules limit excessive retries, so set a hard cap and never retry hard declines.

Should I offer a discount when a payment fails?

No. A failed payment is a payment problem, not a price problem. Send a short, transactional message with a secure link to update the card.

Can I ask customers for their card details by email?

No. Never ask for card numbers by email or SMS. Send a link to a secure payment page where the customer enters the details themselves.

What does a do not honor decline mean?

It means the bank refused the charge without a specific reason. Retry once or twice over a few days, and if it keeps failing, ask the customer to contact their bank or use another card.

Find out how much failed payments cost your store

Enter your store URL and get a revenue estimate in seconds.

See what your store loses each month

We read your public homepage only. No login needed.

Platform Detected

Detected from your URL. Change it if it looks wrong.

USD

Your typical order total. A rough number is fine.

You used today's free estimate. to run more.

Takes 20 seconds. No email needed.

  1. Reading your storeChecking your homepage, platform and product category.
  2. Matching benchmarksApplying typical abandonment and recovery rates for stores like yours.
  3. Drafting a sample messageWriting one recovery message with your store name.