Description
The goal is to notify when a subscription renewal fails. Emit internal event or call webhook when renewal fails (payment or contract revert). Consumer can notify user or update UI. Do not block subscription flow on webhook.
Tasks
- Define renewal-failure event or webhook payload
- Emit or call on renewal failure in subscription flow
- Add test or manual check that event fires on failure
Acceptance Criteria
- Renewal failure triggers event or webhook
- Payload includes subscription id and reason if available
- Tests pass