## TL;DR

When a payment method is detached mid-subscription (customer removed it, bank replaced it, or fraud tooling cut it), renewals fail until a new method is attached and set as default. Detect it via the customer.payment_method.detached event or the first failed renewal, then trigger recovery: email the customer with a portal link, attach the new method on return, set it as the subscription default, and pay the open invoice. Do not just retry the invoice; there is nothing to charge until a method exists. Track detached-method recovery as its own dunning segment because it converts differently than ordinary declines.

## The query

```text
Stripe "payment_method detached" mid-subscription: recovery flow
```

## Use this when

- Saved card removed and subscription renewals failing
- Recovering from detached payment methods
- Handling customer.payment_method.detached events

## Not for

- First-time payment method collection (different onboarding flow)
- Temporary declines on an attached method (retry logic applies)

## Steps

1. Detect the detachment: webhook event or a renewal failing with no usable method.
   Expected output: You know the cause is a missing method, not a decline.
2. Email the customer with a direct portal link to add a new payment method.
   Expected output: The customer has a one-click path to fix it.
3. On return, attach the method and set it as customer and subscription default.
   Expected output: The new method is wired for future renewals.
4. Pay the open invoice against the new default.
   Expected output: The missed cycle is collected.
5. Segment these recoveries in dunning reporting; they behave differently from declines.
   Expected output: Your recovery metrics stay honest.

## Variant phrasings

### Stripe payment method detached subscription recovery

### card removed mid subscription Stripe

### customer.payment_method.detached handling

## Root cause

A detached method is a missing credential, not a failed charge: retries cannot succeed because there is no instrument to charge. The recovery is therefore a collection flow (get a new method) rather than a retry flow, and conflating the two wastes dunning cycles.

## Edge cases

- If the detached method was the subscription default, new invoices keep failing until the default is replaced
- Customers sometimes detach then re-add the same card; treat the re-add as a fresh setup_future_usage check

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_oINg_H7LlEXffq0dK8nJng
