You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
cloud-api: dunning email copy claims cancellation at the next retry date (false) #133
Member hola@alexmegah.com (inference, $65 USD) reported on 2026-09-30: renewal failed Sep 21, a dunning email promised a retry date; the Sep 28 smart retry failed too and a second identical email granted another 'grace period'. The member (in good faith) concluded the system was repeatedly granting grace periods it should only grant once.
Root cause
The email copy is false, not the flow. SendPaymentFailedNotice (internal/email/resend.go) said: 'Si para esa fecha sigue sin poder cobrar, la suscripción se cancelará' — but Stripe Smart Retries keep retrying after that date (up to ~4 attempts over ~14 days, one email per failed attempt per handleInvoicePaymentFailed). Key stays active during past_due by design (revocation only on subscription cancellation → 7-day grace).
Fix
State the real behaviour: retries continue for the next few days, the subscription stays active while retries are pending, cancellation only when retries are exhausted. Pin with tests.
Verification
Stripe timeline: charges failed 2026-09-21 23:13 UTC and 2026-09-28 20:13 UTC; next attempt 2026-10-05 20:13 UTC; sub past_due, not cancelled; member DB state subscribed (correct).
Activity