The dunning process is an automated payment retry system that handles failed subscription billing attempts. When a payment fails, the system creates a dunning record that manages the retry logic, tracking payment attempts and determining when to retry based on configurable shop settings.
What triggers dunning
Dunning is triggered when a recurring billing attempt fails. Supercycle creates billing attempts for recurring charges, and if Shopify cannot process the payment, dunning automatically begins. Learn more in Payment attempts.
Which methods it applies to
Dunning applies to subscription-based billing:
Viewing dunning status
You can view dunning information in the charges detail page.
Navigate to Supercycle > Charges > click on a specific charge to view the dunning banner.
The charge detail page displays:
- Dunning status (active, failed, cancelled, or complete)
- Current retry attempt count out of maximum attempts
- Next scheduled retry date and time
- Manual “Retry now” button option
Navigate to Settings > Risk > Dunning section.
The configuration page allows adjusting:
| Setting | Default | Description |
|---|
| Maximum retries | 3 | Total number of retry attempts |
| Time between retries | 2 | The interval value between attempts |
| Retry unit | Days | Hours or Days |
Email templates are controlled separately via customer email settings and cannot be customized per-dunning instance. The failed charge email is enabled/disabled globally.
Manual retry
You can manually retry a payment from the charge detail page:
Navigate to the charge
Go to the charge with failed dunning status.
Click Retry now
Click the Retry now button in the dunning banner.
Confirm the retry
Confirm in the modal dialog. The system immediately creates a new billing attempt, bypassing the retry interval.
Shopify Flow integration
The “Dunning payment failed” Flow trigger is available for custom automations. Learn more in Create a workflowe
Common error codes
| Error code | Message | Solution |
|---|
expired_payment_method | The customer’s payment method has expired | Request updated payment method |
payment_method_declined | Payment method declined by processor | Advise customer to contact bank or try another method |
payment_method_not_found | No active payment method found | Ensure customer has valid payment method on file |
buyer_canceled_payment_method | Customer canceled their payment method | Ask customer to update payment details |
insufficient_funds | Shown as declined | Advise retry later |
authentication_error | Authentication failed during payment processing | Ensure customer payment details are correct and retry |
Limits and constraints
Automatic retry conditions:
- Retries only occur if no pending payment exists
- Retries respect the configured interval since last failed attempt
- Retries stop after max attempts reached
- Manual retry bypasses interval check but still respects max attempts logic
Dunning cancellation:
- If the associated charge is cancelled, dunning is automatically cancelled
- Cancelled dunning will not create new payment attempts