Save subscribers who
didn't mean to leave.

Smart retry logic, branded recovery emails, and customer-side payment-update prompts - turn declined cards into renewed subscriptions while you sleep.

Start Free on Shopify

20-40% of subscription churn isn't a choice - it's an expired card

Cards get reissued. Banks block routine charges. Without a recovery system, every involuntary failure becomes a lost subscriber. Joy retries intelligently and asks customers to update - before they realise anything went wrong.

Everything you need to recover the revenue

Every capability below is included from day one. No feature gates, no plan upgrades.

Smart retry logic

Schedule retries on the days banks are most likely to approve - not at fixed intervals that keep failing.

Branded recovery emails

Automated emails to the subscriber the moment a charge fails, with a one-click link to update their card.

Self-serve card update

Customers update their payment method from the portal - no Shopify login required.

Pre-expiry reminders

Detect cards expiring before the next charge and prompt customers to update in advance.

Configurable schedules

Choose how many retries, on which days, and when to pause the subscription if all retries fail.

Recovery analytics

Track recovery rate, revenue recovered, and average days to recover - see exactly what Joy saved.

Settings
Payment recovery
Automation
Email notifications
Tag management
Quick checkout link
Integration
Translation
Product bundles

Payment recovery

Control when billing attempts are made again after a failed attempt

Retry failed payments

Max retry attempts

3

Delay before retry

1 day

Action when max retries reached

Cancel subscription
Send email if retry attempt fails

The recovery settings, built into Joy

One screen controls retries, recovery emails, and what happens after the last failed attempt. Sensible defaults out of the box - turn it on and you're protected.

  • Toggle Payment recovery on and Joy starts retrying failed charges automatically
  • Set max retry attempts and the days between each retry per plan
  • Decide what happens after the final failure - pause, cancel, or notify your team

Recovery in 3 steps

A failed charge becomes a renewed subscription - without a single email from your support team.

01

A charge fails

Joy detects the decline the moment Shopify reports it - no batch job, no waiting.

02

Retry and reach out

Joy retries on optimal days and emails the customer a branded recovery message with a one-click update link.

03

Resume or pause

When the card clears, the subscription resumes automatically. If all retries fail, Joy pauses (or cancels) per your settings and logs the outcome.

Common questions about dunning management

How many retries does Joy attempt?+
Up to 4 by default, spaced across roughly 14 days. You can adjust the count, the gap between retries, and the total window in Settings → Dunning.
Will customers know a charge failed?+
Yes - they receive a branded recovery email immediately, then reminders before each retry. You control the email copy, sender, and timing.
What happens if all retries fail?+
You choose: pause the subscription, cancel it, or notify a teammate. The decision is per-plan, so high-value plans can stay open longer than low-value ones.
Does Joy support payment-method update without login?+
Yes. Recovery emails include a tokenised link that opens the portal directly to the payment-update screen - no password, no OTP.
Can I see how much revenue dunning recovers?+
Yes. The Analytics dashboard shows recovery rate, revenue recovered, and the average number of days to recovery, segmented by plan.
Does this work with all Shopify payment gateways?+
Yes - Joy uses Shopify's native subscription billing, so it works with Shopify Payments, Stripe, and any gateway Shopify supports for subscriptions.

Stop losing subscribers to expired cards

Joy retries, recovers, and reports - free for 6 months. You only pay when you earn.

  • Free 14-Day Trial
  • No Credit Card Required
  • Cancel Anytime