Stripe processing_error — recovery guide
The good-news decline code. A temporary glitch in the processing pipeline, usually clears on retry within minutes. Customer doesn't need to do anything.
TL;DR
Retry once within 15 minutes. If it still fails, retry again in 24 hours. Most processing_error cases clear by the second retry without involving the customer at all. Enable Stripe Smart Retries and move on.
What processing_error means
processing_error is Stripe's way of saying "something went wrong in the payment pipeline, but not a hard decline." The issuer's system, Stripe's routing, or an intermediate network could all cause it. Unlike most decline codes, this one is usually transient.
Why it happens
- Issuer outage — the bank's auth system is temporarily unreachable or slow.
- Network timeout — the authorization request timed out somewhere in the card networks.
- Card data corruption on save — rare but happens; re-collecting the card fixes it.
- Fraud tooling false positive — some banks return
processing_errorinstead ofcard_declinedwhen their fraud engine wants a second look.
Recovery playbook
- First retry: +15 minutes. ~50% clear at this stage.
- Second retry: +24 hours. Another ~25% clear.
- If still failing at +48h: treat it as
card_declined— email the customer, include a Billing Portal link, ask them to try a different card. - Don't spam retries — after 3 attempts, you're just hitting the bank with requests it's going to keep failing.
When processing_error is actually something else
If you see the same customer getting processing_error 3+ times in a row, the bank is probably masking a real decline reason. Treat it like card_declined: email the customer, ask them to try a different card or contact their bank.
Related decline codes
Don't let transient errors slip through
RecoverKit retries smartly and only emails the customer when it's actually worth their time. $19/mo.
Start Free Trial →