Fixed

One customer email per failed payment, not two

Billing & PaymentsRetention

On a shop running Smart Payment Recovery, a customer whose renewal failed could get two separate emails about the same failed payment: Subi's legacy "One of your subscription payments has failed" notice, and the recovery sequence's own email about that failure. Both told the customer the same thing, from the same store, within the same hour, over 2,977 contracts in the 30 days before this fix.

The legacy notice now stands down whenever recovery is already emailing the customer about that payment. The first failure that opens a recovery sequence, and every retry failure the sequence is still driving, sends only the recovery email. The legacy notice keeps firing for the cases recovery doesn't cover today, so nothing that used to get a notice now gets silence.

Recovery emails now also honor the merchant's own Notifications setting. Turning on Smart Payment Recovery used to start emailing a merchant's customers even if that merchant had switched off customer failed-payment notifications in Settings. The ladder emails and the card-update link now check that same switch before sending, so a merchant who muted customer payment-failure emails stays muted after switching to Smart Recovery. Card retries themselves are unaffected. Subi keeps attempting the charge on schedule either way; only the customer-facing emails are gated by the toggle.

This shipped with no feature flag: every recovery-active shop got the fix on deploy. Nothing about the retry schedule, the recovery window, or the dunning email cadence itself changed.

Beyond Subscriptions

Launch and scale recurring revenue on Shopify in days, not months.

Book Demo