Use Solidgate smart retries to automatically recover failed subscription payments with intelligent, data-driven retry scheduling
Smart retries provide an intelligent, data-driven approach to recovering failed subscription payments by choosing when to retry each payment based on its decline reason and payment history.
You do not need to build or maintain a fixed retry schedule. Smart retries adjust the timing for each payment to recover more eligible failures while limiting unnecessary retry attempts.
How smart retries work
Smart retries use an intelligent algorithm that adapts retry timing based on payment history, decline patterns, and other related details.
Payments to retry - temporary issues like insufficient funds or card activity limits.
Payments not to retry - permanent issues like expired cards, closed accounts, or fraud.
The process unfolds as follows:
When a payment fails due to a transaction decline, the subscription goes into the redemption state.
If it is a decline that can be retried, the system schedules a retry based on an intelligent algorithm.
If it is a decline that should not be retried, no retry is made.
The set number of retries is attempted within a defined period.
If the retry is successful, the payment is recovered, and the subscription becomes active.
If all retries fail, the
Guide
Learn about invoice statuses and how they change throughout the invoice lifecycle.
invoice status
depends on the configured setting: it is marked as not paid, or it is voided and the subscription is cancelled.
You can decide whether to grant access during the retry period. Solidgate provides a subscription status that indicates when the subscription is in redemption.
If you choose to allow access, include the retry period in the next billing cycle.
The timing and frequency of these retries are automatically optimized to align with the subscription billing cycle and business preferences. This approach ensures that subscriptions are not retried too often or too infrequently.
Configure smart retries
Smart retries are enabled by default with four retries within four weeks.
These settings can be modified based on your business requirements.
Your changes are saved and applied automatically.
To configure smart retries
Go to Billing > select the version > Settings.
Navigate to the Smart retries tab.
For the Retry frequency, set:
number of retry attempts
timeframe for processing retries
Depending on the Billing version:
In Billing
1.0, optionally click on Discounts to add discounts to retry attempts.
In Billing
2.0, set whether the
Guide
Learn about invoice statuses and how they change throughout the invoice lifecycle.
invoice status
becomes unpaid or voided once all retries fail. Voiding the invoice also cancels the subscription. Marking it as unpaid does not cancel the subscription.
A discounted retry runs only after a regular retry fails with error 3.02 (insufficient funds) and is processed 30 minutes after that failed attempt.
Discounted retries count toward the total retry limit, which cannot exceed 14 attempts due to limits set by card networks.
Discounted retries
Discounted retries give customers a chance to complete a failed payment at a temporarily reduced amount. This can help merchants recover revenue and retain subscriptions that might otherwise become unpaid, while giving customers a chance to keep access to your product.
Use discounted retries to:
reduce subscription churn caused by failed payments due to insufficient funds
recover some revenue instead of losing the payment entirely
offer a temporary discount without changing the regular plan price
Billing
1.0 and Billing
2.0 both support discounted retries, but they apply the discount differently.
Discounted retries in Billing 1.0
The discounted retry charges a reduced amount directly on the existing invoice.
Example: retry attempt flow
Plan price: $100
Retry frequency: 3 regular attempts
Discounts: Attempts 2 and 3 (on error 3.02)
Max attempts: 5 (3 regular and 2 discounted)
Attempt
Retry type
Invoice transition
Amount
Result
1st
Regular retry fails (non-3.02)
Charges an existing invoice
$100
Payment fails
2nd
Regular retry fails with error 3.02
Charges an existing invoice
$100
Payment fails, triggers discounted retry
3rd
Discounted retry in 30 min with 10% off
Charges a reduced amount on the same invoice
$90
Payment fails
4th
Regular retry (no discount)
Charges an existing invoice
$100
Paid $100
In total, 4 out of 5 possible attempts are used.
Discounted retries in Billing 2.0
In Billing
2.0, the amount of a finalized invoice cannot change. When a retry discount applies, the current unpaid invoice is voided and a new invoice is issued for the same billing period with the discount applied.
If the retry for a new invoice succeeds, it becomes paid. If the retry fails, the invoice is re-issued whenever the amount needs to change, either because a new discount applies or because the price reverts to the regular amount.
If all retries fail, the final invoice in the chain follows the configured
Guide
Learn about invoice statuses and how they change throughout the invoice lifecycle.
invoice status
setting: unpaid or voided.
Example 1: Retry discounts without tax
Plan price: $100 (no tax)
Retry frequency: 3 regular attempts
Discounts: Attempts 2 and 3 (on error 3.02)
Max attempts: 5 (3 regular and 2 discounted)
Attempt
Retry type
Invoice transition
Amount
Result
1st
Regular retry fails (non-3.02)
Invoice #1
OPEN
$100
Payment fails, no re-issue
2nd
Regular retry fails with error 3.02
Invoice #1
OPEN
$100
Payment fails, triggers discounted retry
3rd
Discounted retry in 30 min with 10% off
Invoice #1
VOIDED
→ Invoice #2
OPEN
$90
Invoice re-issued, payment fails
4th
Regular retry (no discount)
Invoice #2
VOIDED
→ Invoice #3
OPEN
$100
Invoice re-issued, paid $100
Invoice #3 is paid in full ($100).
If attempt 4 also fails with error 3.02 instead of succeeding:
Attempt
Retry type
Invoice transition
Amount
Result
4th
Regular retry fails with error 3.02
Invoice #3
OPEN
$100
Payment fails, triggers discounted retry
5th
Discounted retry in 30 min with 25% off
Invoice #3
VOIDED
→ Invoice #4
OPEN
$75
Invoice re-issued, paid $75
Same attempt shape as Billing
1.0 (3 regular retries, discounts on attempts 2 and 3), only the discount moves through a new invoice instead of a reduced charge on the original one.
Example 2: Retry discounts with tax
Plan price: $100 (exclusive 19% tax)
Retry frequency: 3 regular attempts
Discounts: Attempts 2 and 3 (on error 3.02)
Max attempts: 5 (3 regular and 2 discounted)
Attempt
Retry type
Invoice transition
Subtotal
Tax (19%)
Total
Result
1st
Regular retry fails (non-3.02)
Invoice #1
OPEN
$100.00
$19.00
$119.00
Payment fails, no re-issue
2nd
Regular retry fails with error 3.02
Invoice #1
OPEN
$100.00
$19.00
$119.00
Payment fails, triggers discounted retry
3rd
Discounted retry in 30 min with 10% off
Invoice #1
VOIDED
→ Invoice #2
OPEN
$90.00
$17.10
$107.10
Invoice re-issued, payment fails
4th
Regular retry (no discount)
Invoice #2
VOIDED
→ Invoice #3
OPEN
$100.00
$19.00
$119.00
Invoice re-issued, paid $119.00
Invoice #3 is paid in full ($119.00).
If attempt 4 also fails with error 3.02 instead of succeeding:
Attempt
Retry type
Invoice transition
Subtotal
Tax (19%)
Total
Result
4th
Regular retry fails with error 3.02
Invoice #3
OPEN
$100.00
$19.00
$119.00
Payment fails, triggers discounted retry
5th
Discounted retry in 30 min with 25% off
Invoice #3
VOIDED
→ Invoice #4
OPEN
$75.00
$14.25
$89.25
Invoice re-issued, paid $89.25
Tax is recalculated on the discounted amount, the same way it would be for an invoice with a coupon applied. Coupons on the original invoice remain in place, and the retry discount stacks on top of them.
Apply smart retries to product
Based on your preferred flow, you can apply smart retries to products via API or the Solidgate Hub.
Use the
create product
API v1 and
update product
API v1 endpoints to add or modify the retry settings for your offers.
These endpoints let you set a retry approach that aligns with your business goals and supports payment recovery. To enable smart retries, set the retry_mode field to
smart
in your request.
When smart retries are configured for a product, the webhook payload may temporarily lack the next_charge_at value if it is unavailable in real time.
In this case, you need to request the
subscription status
API v1 after 5–15 seconds of receiving the webhook to retrieve the next_charge_at information.
In some cases, it may take up to 15 minutes, so retrying requests is recommended.
This logic is being improved, and changes are coming soon.
To apply smart retries to a product
Go to Billing > select the version > Products.
Find the product and click on it.
In the Product section, click on Edit.
Next to Retry mode, select Smart retries.
Click on Save changes.
Once you start using smart retries with your products, all new subscriptions created with such products use the intelligent retry approach automatically.
This method increases the chances of recovering failed payments, helping businesses reduce revenue loss and improve customer retention.