NewNo plan feeNo plan fee. Just 2.9% + $0.30 per card sale, and signing up is free.Try now →

Stripe · Decline codes

What does the Stripe approve_with_id decline code mean?

Checked

Stripe describes approve_with_id simply as "the payment can't be authorized." The card's bank did not approve the charge as it was sent. Stripe's advice is to attempt the payment again, and if it still fails, the customer should contact their card issuer. It is not described as a problem with the card number, funds or fraud, so one fresh attempt is reasonable, but repeated identical retries are not.

Type
Soft decline
Who declined
The card's bank
Retry
Yes, once; then the customer contacts the bank
Shopper action
Try once more, then call the bank or use another card
Merchant action
Allow one retry; do not loop the same charge

What PlatformDTC does

If the store has set PayPal card payments as its backup, PlatformDTC's checkout can offer to run the card again through PayPal after an approve_with_id decline (the shopper re-enters the card; risk checks still run). With Smart retry on, a renewal declined this way gets one retry 48 to 72 hours later, like do_not_honor; a second refusal asks the customer for a new payment method through a one-click link.

Why it happens

Stripe does not give more detail than "can't be authorized." The decline came from the bank's side, not from wrong card details reported to Stripe.

What the shopper can do

Try the payment one more time. If it fails again, contact the bank using the number on the card, or pay with a different card.

What the store can do

Let the customer retry once. If the same card keeps failing, point them to another payment method rather than resubmitting. Card networks cap reattempts: Visa allows up to 20 attempts in 30 days for declines that may be retried.

For developers

Read decline_code on last_payment_error and check outcome.advice_code. If it says do_not_try_again, stop. On Visa, network_decline_code gives the bank's raw response, which tells you more than the Stripe label.

Frequently asked questions

Should I retry an approve_with_id decline?
Stripe says to attempt the payment again, and if it still can't be processed, the customer needs to contact their card issuer.
Does approve_with_id mean the card is fake or stolen?
No. Stripe only says the payment can't be authorized. It does not describe it as fraud or a lost card.

Sources

Related

Payments library