benecaster_cutoff_billing_resume_complete
Fires after the cutoff billing resume has swept the paused cohort. Each subscription resumed successfully has its paused_reason cleared.
A failure here is the mirror image of a pause failure, and it is easier to miss. A subscription that fails to resume is not being charged while the subscriber’s feed works again — the podcaster delivers a paid product for free, indefinitely, with nothing in Stripe to suggest anything is wrong. Same arrays, opposite loss.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
$resumed |
int |
— | Subscriptions successfully resumed and untagged. |
$failures |
array |
— | **The argument that matters.** One entry per subscription the Stripe call failed on, each `{ subscription_id: string, show_id: int, message: string }`. Every entry is a subscriber whose billing did not restart while their feed works again. Empty on a clean run. Treat a non-empty array as an incident, not as telemetry. |
$skipped_shows |
array |
— | Shows the sweep could not act on at all, as `show_id => reason`. Two reasons: `test_mode` — the show is configured for test mode while holding live subscriptions, so Benecaster cannot reach them; `no_keys` — its Stripe credentials are missing or unusable. Nothing on a skipped show is resumed. Empty on a clean run. |
Notes
Resuming is scoped to the tagged cohort, so anything the podcaster cancelled or paused themselves during the outage is left exactly as they left it. See PauseReasons for why the tag is what makes that possible.
Need this built rather than just documented? See our services →