1. What smart retries do
A declined card is not a lost customer. Most failed renewal charges are temporary — a payday that hasn't landed yet, a card that was reissued, a bank being cautious. Smart retries recover that revenue by charging the card again at the moment each failure type is most likely to succeed, and by emailing the customer a card-update link when only they can fix it.
The reason a charge failed decides when it will succeed, so each decline reason gets its own retry rhythm. Sublyra applies the schedule the moment Shopify reports a failed billing attempt — what you set on this page is live, not a draft.
2. The life of a failed payment
1 Shopify runs the scheduled renewal charge and it fails. The billing-attempt webhook tells Sublyra immediately, along with the decline reason.
2 The order is marked Failed, the retry schedule for that decline reason is applied, and the next retry date is set. If "Email customer after each failure" is on, the day-0 dunning email goes out with a card-update link.
3 On each scheduled date the job runner submits a new billing attempt. Every further failure advances the schedule and the email sequence (day 3, day 7).
4 A successful retry marks the order Recovered and the subscription continues untouched.
5 If the schedule runs out, the final-notice email is sent, the order is written off as Uncollectible, and — if you enabled it — the subscription is cancelled to keep your active count honest.
Reading the page
- Stats hero — recovery rate, recovered revenue, orders currently retrying, and revenue written off.
- Recovery funnel — where failed-payment revenue ends up: Failed → Retried → Recovered / Written off, with bars sized by share of failed revenue.
- Upcoming retries — failed orders with their next retry date, attempt number and decline reason, soonest first.
3. Set the retry schedule
Go to Retention → Payment recovery and scroll to Retry schedule by decline reason. Each card is one decline reason, with a note explaining the logic behind its default rhythm.
1 Find the card for the reason you want to change.
2 In Days between attempts, enter the wait before each retry as days separated by commas — for example 3, 5, 7 retries 3 days after the failure, then 5 days later, then 7 days after that.
3 Leave the field empty to never auto-retry that reason. Each entry must be 1–60 days, up to 6 entries per reason.
4 Click Save retry schedule. The new rhythm applies to the next failure; orders already mid-schedule keep the dates they were given.
The five decline reasons and their defaults
| Decline reason | Default schedule | Why |
|---|---|---|
| Insufficient funds | 3, 5, 7 days | Wait for the next payday. Retrying tomorrow just fails again. |
| Card expired | 1, 3, 5 days | Retrying cannot work — only the customer can fix it. The first attempt is really a nudge email. |
| Generic decline | 1, 3, 5 days | Often transient. A short first retry clears many of these. |
| Do not honor | 2, 4, 6 days | An issuer-side block. Hammering it risks a hard flag on the card. |
| Fraud suspected | Empty — never retried | Never retried automatically, whatever the schedule says. |
4. Limits: attempts, cancellation, notifications
Below the schedules, the Limits section controls how the whole sequence ends.
| Setting | What it does | Range / default |
|---|---|---|
| Maximum attempts | Total charges tried, including the original charge. Too few writes off recoverable revenue; too many risks an issuer flag. | 2–8, default 4 |
| Cancel when retries exhausted | When the schedule runs out, cancel the subscription instead of leaving it active-but-unpaying. Leaving it on keeps your active subscriber count honest. | On by default |
| Email customer after each failure | Sends the dunning email sequence (next section). The card-update link in these emails recovers more revenue than the retries do. | On by default |
5. Dunning email templates
Still on Retention → Payment recovery, scroll to Email templates. Every email in the recovery sequence is editable: subject and HTML body per step, with a live preview that renders your copy against sample data as you type.
The sequence
| Step | When it sends | Default |
|---|---|---|
| Day 0 — Payment failed | Immediately when a charge fails. | On |
| Day 3 — Reminder | After the second failed attempt, if the customer hasn't updated their card. | On |
| Day 7 — Reminder | After later failed attempts, before the final notice. | On |
| Day 14 — Final notice | When retries are exhausted, before the subscription is cancelled or written off. | On |
| Pre-dunning — Card expiring soon | Before the next billing date, when the card on file expires first. See the next section. | Off |
Editing a step
1 Tick or untick the checkbox on a step to turn it on or off. An off step is simply skipped in the sequence.
2 Edit the Subject and Body (HTML). HTML is allowed in the body, so you can add your own styling and buttons. The preview on the right updates as you type.
3 Leave a subject or body empty to keep the default for that field — a blank field can never produce an email with no content.
4 Click Save email templates. Reset templates to defaults restores all five steps.
Variables you can use
Placeholders in double curly braces are replaced when the email is sent. Unknown tokens are left untouched, so a typo shows up in the preview instead of vanishing.
| Variable | Replaced with |
|---|---|
{{customer_name}} | Customer's first name |
{{shop_name}} | Your shop name |
{{amount}} | Amount due, e.g. $24.00 |
{{retry_date}} | Next retry date |
{{update_card_link}} | Card update URL |
{{attempt_number}} | Current attempt number |
{{max_attempts}} | Maximum attempts |
{{next_billing_date}} | Next billing date (pre-dunning) |
{{card_last4}} | Card last 4 digits (pre-dunning) |
{{card_expiry}} | Card expiry, e.g. 04/2026 (pre-dunning) |
{{update_card_link}} takes the customer straight to updating their payment method — it is the single highest-converting element in the sequence.
6. Card-expiry checks (pre-dunning)
The best failed payment is the one that never happens. Pre-dunning watches the card on file for each active subscription and emails the customer before a renewal hits an expired card.
1 Go to Retention → Payment recovery → Email templates.
2 Turn on the Pre-dunning — Card expiring soon step and edit its copy if you like. It is off by default.
3 Save. A daily scheduled job then checks active contracts whose next billing date falls within 45 days, reads the card's expiry fresh from Shopify, and queues the email whenever the card expires before that billing date.
The email tells the customer which card (last 4 digits) expires when, shows their next billing date, and links them to update it — using the {{card_last4}}, {{card_expiry}} and {{next_billing_date}} variables.
- Cards are valid through the end of their expiry month, so the check compares against the last day of that month.
- At most one alert per contract per 30 days — a customer is never nagged twice about the same card.
- PayPal and Shop Pay instruments have no card expiry to read, so those contracts are skipped quietly.
- The check reads payment methods from Shopify and needs the
read_customer_payment_methodspermission, which is requested at install time.
7. SMS reminders
If email isn't enough, Sublyra can also text payment-failure reminders on day 3 and day 7, alongside the retry emails. SMS rides on your own Twilio account — Sublyra writes the messages, Twilio delivers and bills them.
1 Go to Settings → SMS notifications.
2 Paste your Twilio Account SID, auth token and from-number, then tick Enable SMS notifications — the master switch.
3 Under Which SMS go out, tick Payment-failure reminders (dunning) and save. Use Send a test message to confirm everything works.
8. FAQ
Do retries run even if I never open the Sublyra admin?
Yes. Retry schedules are applied by the billing-attempt webhook the moment a charge fails, and retries themselves are submitted by a scheduled job runner — no dashboard visits required. The settings on this page are live configuration, not a preview.
What happens if the customer updates their card mid-schedule?
The next scheduled retry uses the new payment method. And because every dunning email carries the update-card link, many orders recover on the very next attempt.
Can I retry a written-off order manually?
Written-off (uncollectible) orders are the end of the automatic sequence. The practical route is to contact the customer — or, if the subscription was cancelled on exhaustion, win them back with the win-back campaign.
Will my customers get an email for every single retry?
No. The sequence is four steps — day 0, day 3, day 7 and a final notice — mapped onto your attempts, and each step can be turned off individually. If you untick "Email customer after each failure", no dunning emails are sent at all (not recommended — the emails recover more than the retries do).
Which plan do I need for smart retries?
Starter ($29/mo) and above include smart retries, the dunning email sequence and card-expiry checks. On Launch Free you can add them for $9.99/mo. Every paid plan starts with a 30-day free trial.
Related guides
- Cancellation flows & save offers — save subscribers who try to leave voluntarily.
- Win-back campaigns — bring back the ones who got away.
- Loyalty rewards & store credit — make staying worth more than leaving.
- Developer docs — webhooks and the REST API for failed-payment events.