Payment Failure Handling (Dunning)
When a customer's payment fails during billing, Zubs automatically attempts to recover the payment through a configurable retry system called "dunning." This guide explains how payment failures are handled and how to optimize your recovery settings.
Overview
Dunning is the automated process of retrying failed payments and communicating with customers to resolve billing issues. A well-configured dunning strategy:
- Maximizes payment recovery rates
- Reduces involuntary churn
- Minimizes customer frustration
- Decreases support burden
Without dunning, a single payment failure results in immediate cancellation and lost revenue.
For faster recovery, consider pairing email dunning with the Zubs Mobile App, which can send push reminders and make it easier for customers to update payment details.
How Payment Failures Happen
Common Causes
Card Issues:
- Expired credit card
- Insufficient funds
- Card reported lost/stolen
- Card declined by issuer
- Card details changed
Bank/Processor Issues:
- Bank fraud prevention triggered
- Temporary processor outage
- Transaction limit exceeded
- Geographic restrictions
Customer Actions:
- Customer cancelled card deliberately
- Customer updated card but didn't update subscription
- Customer disputed previous charge
Dunning Process Flow
Step 1: Initial Failure
- Billing day arrives
- Payment attempt made
- Payment fails (card declined, expired, etc.)
- Order creation blocked (no inventory allocated)
- Customer notification sent immediately ("Payment Failed" email)
- Retry schedule begins
At this point, the subscription is NOT cancelled - it enters the retry cycle.
Step 2: Retry Cycle
Example with default settings (3 attempts, 7 days between):
Day 0: Initial Failure
- First payment attempt fails
- Customer email sent
- Next retry scheduled for Day 7
Day 7: First Retry
- Second payment attempt
- If successful: Order created, customer charged, cycle ends ✅
- If fails: Customer email sent, next retry scheduled for Day 14
Day 14: Second Retry
- Third payment attempt
- If successful: Order created, customer charged, cycle ends ✅
- If fails: Customer email sent, next retry scheduled for Day 21
Day 21: Third Retry (Final)
- Fourth payment attempt (1 initial + 3 retries)
- If successful: Order created, customer charged, cycle ends ✅
- If fails: All attempts exhausted, "on failure" action triggered
Step 3: Final Action
After all retry attempts fail, one of three actions occurs based on your configuration:
Action 1: Skip
- Current billing cycle is skipped
- Subscription remains active
- Next billing cycle proceeds as normal
- Customer is notified
Action 2: Cancel
- Subscription is permanently cancelled
- Customer loses access
- Must resubscribe to continue
- Customer is notified
Action 3: Pause
- Subscription is paused
- No future billing until customer updates payment
- Customer can unpause when ready
- Customer is notified
Configuration Settings
All payment failure settings are located in: Settings → General Settings → Billing Failure Settings → Payment Method Failure
Number of Retry Attempts
Range: 0-10 attempts
Default: 3 attempts
Recommended: 3-5 attempts for most businesses
Higher retry attempts increase recovery rates but also increase email volume to customers.
Days Between Retry Attempts
Range: 1-14 days
Default: 7 days
Recommended: 2-3 days for most businesses
Shorter intervals recover payments faster but may feel pushy. Longer intervals give customers more time but slow down revenue recovery. Consider your billing frequency when choosing.
Action When All Retry Attempts Have Failed
Choose what happens when all retries are exhausted:
Skip Subscription (Recommended)
- Most customer-friendly option
- Skips current billing cycle, subscription remains active
- Best for retention and flexible programs
Cancel Subscription
- Permanently ends subscription
- Best when payment is critical for continued service
- Highest churn but clearest accountability
Pause Subscription
- Pauses until customer updates payment
- Balance between skip and cancel
- Customer must manually unpause
Inventory Failures
When products are out of stock at billing time, separate retry settings apply.
Location: Settings → General Settings → Billing Failure Settings → Not Enough Inventory
Recommended Settings:
- Retry attempts: 1-3 (fewer than payment failures)
- Days between: 1-2 days (shorter intervals)
- On failure action: Skip (recommended - it's your fault, not the customer's)
Inventory either restocks quickly or doesn't restock at all, so fewer retries with shorter intervals work best.
Customers are kept in the loop here too. They get an email on each retry — letting them know the order couldn't be fulfilled yet, that no action is needed, and when the next automatic retry happens — and a final email when retries run out, worded to match your on-failure action (skip, cancel, or pause). These are controlled by the Inventory Failure toggle in Settings → Notification Settings. Staff notifications for inventory failures follow the same Notify staff about billing failures setting described below.
Customer Communication
Notification Emails
For payment failures, customers receive an email at each stage:
- An initial failure notification with a link to update payment
- A reminder after each retry
- A final notification when retries are exhausted, worded to match the action you chose (skip, cancel, or pause)
Enable these with the Payment Failed toggle in Settings → Notification Settings. Inventory failures have their own Inventory Failure toggle covering the same stages.
Staff Notifications
You can also be notified when a billing attempt fails, so you can reach out to the customer before the subscription reaches its final action. One setting covers both payment and inventory failures.
Location: Settings → General Settings → Billing Failure Settings → Staff notifications, field Notify staff about billing failures.
Choose one of three options:
- Every failed attempt — you're emailed on every failed attempt, from the first through the final one. Best when you want to intervene early.
- Only when all retries are exhausted (default) — you're emailed once, when the final action (skip, cancel, or pause) runs. Lowest volume.
- Never — no staff emails for billing failures. Customers are still notified either way.
The per-attempt email tells you which subscription failed, confirms it's still active with more retries to come, and links back to this setting so you can adjust the volume.
Monitoring and Optimization
Track your payment failure and recovery rates regularly. Adjust your retry settings based on what you observe in your actual data.
To dig into a single failure, open the subscription and use View details on the failed row in Past Orders — it shows the error code the processor returned, the amount that was attempted, and what the order would have contained.
Best Practices
Recommended Starting Configuration:
- 3-5 retry attempts
- 2-3 days between retries
- Skip on failure
- Enable payment failure notifications
- Staff notifications set to Only when all retries are exhausted (switch to Every failed attempt if you want to catch failures early)
Common Scenarios
Expired Card: Payment fails, retries occur over several days, customer updates card, next retry succeeds.
Insufficient Funds: Payment fails, customer gets paid, next retry succeeds quickly.
Complete Failure: All retries fail, subscription is skipped/paused/cancelled based on your settings, customer receives notification.
Proactive Customer: Customer sees failure notification immediately, updates payment within hours, next retry succeeds.
Troubleshooting
High Failure Rates:
- Check if fraud prevention is too aggressive
- Consider proactive card expiration reminders
Low Recovery Rates:
- Reduce days between retries
- Increase number of retry attempts
- Make payment updates easier for customers
Too Many Email Complaints:
- Increase days between retries
- Reduce total number of retry attempts
Related Resources
- General Settings — Configure retry and failure settings
- Notification Settings — Customize payment failure emails
- Billing Automation — Understand how billing cycles work