Stripe Subscription Payment Failed — Verdict¶
Incident statement¶
“A Stripe subscription payment failed, but the customer insists the subscription should be active.”
This situation typically occurs during recurring billing cycles when a subscription invoice is generated but payment does not complete successfully.
Stripe-side facts¶
In Stripe’s model:
- A subscription generates an invoice
- The invoice attempts payment via a payment_intent
- The subscription status depends on the invoice payment result
Common observable states include:
- invoice.payment_failed
- payment_intent.requires_action
- payment_intent.requires_payment_method
A subscription is not considered paid unless the invoice payment succeeds.
Why confusion happens¶
- The subscription object may still exist
- The invoice may appear “open” or “retrying”
- Customers may see an authorization attempt on their bank statement
- Stripe Dashboard spreads information across multiple objects
This often creates the impression that:
“Payment already happened, but the system didn’t update.”
Verdict¶
- ❌ Payment is not completed unless the invoice is marked paid
- ❌ Subscription access is not owed while payment remains failed
- ❌ This is not a webhook loss by default
- ⚠️ Responsibility typically lies in payment authorization or customer action, not system malfunction
A failed subscription payment does not constitute a completed charge.
Verdict usage¶
This verdict is suitable for: - Explaining the situation to non-technical stakeholders - Responding to customer disputes - Internal escalation or audit records
If a formal timeline or evidence link is required, a Stripe payment verdict can be generated for documentation purposes.