# PayPal INSTRUMENT_DECLINED on subscription renewal: retry or cancel

## TL;DR
INSTRUMENT_DECLINED means the funding source behind the subscription (card, bank) was rejected, and only the payer can fix it by choosing a new one inside PayPal. Suspend the subscription, ask the payer to update their payment method, and retry billing after they do. Retrying the same dead instrument on a schedule just burns retries.

```text
paypal INSTRUMENT_DECLINED on subscription renewal: retry or cancel
```

## Steps

1. On INSTRUMENT_DECLINED, suspend the subscription rather than leaving it active and failing. Success check: the subscription status moves to suspended and no further automatic charges are attempted.

2. Email the payer promptly: their payment method was declined, here is a link to update it in their PayPal account. Success check: the email goes out within the hour and links to the PayPal payment-method update flow.

3. Give a clear grace window (for example 7 days) before cancelling. Success check: your dunning config has an explicit suspend-then-cancel timeline.

4. After the payer updates their instrument, reactivate and retry the billing. Success check: the retry succeeds and the subscription returns to active.

5. If the grace window expires with no update, cancel the subscription and notify the payer. Success check: cancelled subscriptions stop accruing failed attempts.

## When this applies

- A PayPal subscription or billing-agreement renewal fails with INSTRUMENT_DECLINED.
- You are building dunning logic for PayPal recurring billing.
- An agent flow retries the renewal on a timer and keeps failing.

## When it doesn't

- The initial subscription signup fails; that is a checkout problem, not dunning.
- One-time PayPal payments decline; those need immediate shopper action, not suspension.
- Non-PayPal recurring billing; each provider's decline codes differ.

## Tool + version compatibility

PayPal Subscriptions API, PayPal Checkout with billing agreements, PayPal webhooks v1.

### "paypal subscription payment declined"
Check the decline reason first. INSTRUMENT_DECLINED needs payer action; other reasons may allow a straight retry.

### "paypal billing agreement renewal failed"
Same handling: suspend, notify, grace window, then cancel.

### "paypal instrument declined retry"
One retry after the payer updates the instrument is fine. Repeated retries against the same declined instrument are not.

## Why it happens

PayPal subscriptions bill against whatever funding instrument the payer has on file, which can expire, hit limits, or be closed without the payer telling you. PayPal will not silently substitute another instrument for a declined subscription charge; the payer has to pick a new one. That is why this decline is unactionable on your side until the payer acts.

## Edge cases / pitfalls

- Do not confuse INSTRUMENT_DECLINED with a payer-cancelled subscription; check the subscription status before sending dunning emails.
- Some payers update the instrument in PayPal but the next billing still uses the old one if the update happened after the retry was queued; always retry after confirming the update.
- Track dunning outcomes; a high INSTRUMENT_DECLINED rate with low recovery usually means your update-payment-method email is unclear or the link is broken.
- Keep the subscription's billing history; if the payer disputes, you want the suspend/notify/cancel timeline documented.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_PNDag97x40cEl-joy0t2ww
