Features
Failed-payment recovery that actually executes — what's live and what's roadmap, labeled as such.
Failure-reason-aware retry plans
Each decline code gets its own schedule: insufficient_funds → days 1/3/5/9; do_not_honor → 1/3/6; processing_error → 0/1/2; expired_card → no retries, nudge now. Unknown codes get a sane default. The execution runner fires each step on its day — plans are executed, not just computed.
Stripe webhook receiver
HMAC-verified invoice.payment_failed intake (real Stripe-Signature scheme), records the failure with its decline code, and returns the retry plan and nudge subject in the response. invoice.paid events resolve open failures as recovered.
Branded email dunning sequence
Three-touch email sequence per failure reason, with customer-facing copy tuned per decline family. Custom templates and sender branding are on the roadmap.
SMS nudges (Growth+) — roadmap
Not yet shipped: texting the customer when email isn't enough. It's on the roadmap, and no tier charges for it until it exists.
Expiring-card alerts (Growth+) — roadmap
Not yet shipped: 30/7/1-day warnings before cards expire. Today an expired card gets an immediate update-your-card nudge instead of a wasted retry; the pre-expiry scanner is on the roadmap.
Recovery stats API
Failed / recovered / lost / in-retry totals via GET /stats (API-key protected), fed by the runner's recorded outcomes. A visual dashboard and a retry-trigger API are on the roadmap.
Network-rule guardrails
Visa Category 1 declines are never reattempted and Mastercard do-not-retry advice is honored, under a shared per-card attempt budget coordinated with Stripe Smart Retries — so retries never trigger the networks' excessive-reattempt fees.
White-label (Scale) — roadmap
Not yet shipped: emails carrying only your brand, and multi-account support for agencies and portfolios.