Stripe Decline Code · Glossary
revocation_of_authorization fires when the cardholder has specifically revoked the recurring payment authorization they previously granted to your merchant — the bank received a formal instruction from the customer to cancel permission for your subscription charges on that card.
What It Means
What It Means
revocation_of_authorization fires when the cardholder has specifically revoked the recurring payment authorization they previously granted to your merchant — the bank received a formal instruction from the customer to cancel permission for your subscription charges on that card. Unlike stop_payment_order (which blocks a specific charge) or do_not_honor (which is ambiguous), this code is a targeted, deliberate withdrawal of the recurring billing mandate itself — the customer has told their bank they no longer want you charging their card on an ongoing basis.
Not sure if this code is recoverable for your specific situation? Use the Stripe Failure Lookup →
Why It Happens
Why It Happens
What NOT to Do
What NOT to Do
✕ Never retry — this is a legal revocation of billing permission
The customer has formally withdrawn authorization for you to charge their card. Retrying is not just guaranteed to fail — it can constitute an unauthorized transaction under consumer protection regulations in multiple jurisdictions. A revocation_of_authorization followed by a retry attempt is a direct path to a chargeback, a regulatory complaint, and potential Stripe account review. Zero retries, zero exceptions — this is non-negotiable.
✕ Don't treat it like stop_payment_order and run the same workflow
While both are deliberate customer actions, revocation_of_authorization specifically revokes the recurring mandate — meaning it has implications for all future charges on that card, not just the current one. Your system must immediately halt all future scheduled charges against this card, not just block the current attempt. Failing to do so exposes you to multiple unauthorized charge disputes on future billing cycles.
✕ Don't respond with an automated dunning sequence
This code signals a customer relationship event that requires a human response — sending automated retry emails or payment update prompts to a customer who has formally revoked authorization is tone-deaf at best and legally risky at worst. Your response must be empathetic, personal, and focused on understanding why they revoked rather than pushing them back to paying.
Retry Timing
Retry Timing
Zero retries — permanent. The entire response framework is a customer relationship recovery and win-back sequence, not a payment recovery sequence.
Recovery Benchmark
Recovery Benchmark
| Metric | Result |
|---|---|
| Overall payment recovery rate | 8–18% |
| Recovery from billing descriptor confusion cases | 35–50% — highly preventable |
| Recovery from genuine cancellation intent | 3–8% — minimal |
| Chargeback escalation if no outreach within 72 hrs | 35–55% |
| Recovery with automated dunning only | ~2–4% (and increases dispute risk) |
| Win-back rate (30–60 days) | 15–25% for confusion/process-failure cases |
Like stop_payment_order, your primary KPI is chargeback prevention, not payment recovery. A human outreach response within 48 hours that resolves the root cause — with a proactive refund where warranted — prevents 50–65% of revocation_of_authorization events from escalating to formal disputes. The secondary metric is billing descriptor clarity: a clear, recognizable descriptor eliminates 30–40% of confusion-driven revocations entirely.
At Scale
At Scale
Automated
Manual Escalation
FAQs
FAQs
What does the Stripe revocation_of_authorization decline code mean?
revocation_of_authorization means the cardholder has formally withdrawn the recurring payment authorization they previously granted to your merchant. The bank received a direct instruction from the customer to cancel permission for your subscription charges. Unlike a stop payment order which blocks a single charge, this code revokes the recurring billing mandate entirely — all future charges against this card are now unauthorized.
What are the most common causes of a revocation_of_authorization in Stripe?
Common causes include the customer cancelling the recurring authorization directly through their bank instead of through your product, the bank revoking authorization after a customer complaint about recurring charges, an unrecognizable billing descriptor causing the customer to flag the charge as unauthorized, a prior chargeback or dispute triggering an automatic bank-side revocation, and regulatory-mandated authorization cancellations in EU, UK, and Indian markets.
Should I retry a payment after a Stripe revocation_of_authorization decline?
Never. The customer has formally withdrawn authorization for you to charge their card. Retrying can constitute an unauthorized transaction under consumer protection regulations and is a direct path to a chargeback and potential Stripe account review. Immediately cancel all future scheduled charges on this card and respond with human outreach within 2–4 hours instead.
How do I prevent revocation_of_authorization from escalating to a chargeback?
Respond with personal human outreach within 48–72 hours — this is the critical window before a revocation typically escalates to a formal chargeback filing. Investigate the root cause, offer a proactive refund if billing was in error, and simplify your cancellation flow to prevent customers from needing to use their bank as an intermediary. A clear, recognizable billing descriptor eliminates 30–40% of confusion-driven revocations entirely.
What is the recovery rate for Stripe revocation_of_authorization failures?
Overall payment recovery is 8–18%, one of the lowest in Stripe's taxonomy. For billing descriptor confusion cases where customers revoked due to not recognizing the charge, recovery rates of 35–50% are achievable with personal human outreach. The primary metric to optimize is chargeback prevention — proactive human response within 72 hours prevents 50–65% of revocation events from escalating to formal disputes.
What to do next
You are here
revocation_of_authorization
Decline code reference
Check recoverability
Stripe Failure Lookup
See what's recoverable — and what isn't →
Then
Sign up for Recurflux
Automate recovery for every decline code →
Before you retry
Before you retry
Most revocation_of_authorization failures are retried on the wrong schedule — which recovers the payment about 30% of the time. The other 70% leaves permanently. See what this code is actually costing at your MRR before deciding how to handle it.
Stop leaving revenue on the table
Recurflux handles code-specific retry scheduling, adaptive dunning, and dispute intelligence across all 30 Stripe decline codes. Connect in under 5 minutes.