Stripe provides a number of automated recovery features to help collect payments that may have otherwise been unsuccessful—including automatically updating your users’ saved cards, sending emails when a failed payment occurs, and retrying cards at strategic times.
Using machine learning, Smart Retries chooses optimal times to retry failed payment attempts to increase the chance of successfully paying an invoice. The machine learning system behind Smart Retries uses hundreds of time-dependent, dynamic signals, such as:
- The number of different devices that have presented a given payment method in the last N hours.
- The optimal time to pay (payments made for debit cards in certain countries might be slightly more successful at 12:01 AM in local time zones).
Based on a combination of these factors, Stripe intelligently assesses when to retry payments. We continuously learn from new purchaser behaviors and transactions, which provide for a more optimized approach over traditional rules-based payment retry logic. Any invoice with the auto_advance attribute set to
true goes through the Smart Retries flow (if enabled), regardless of the selected payment method.
The Smart Retries feature attempts to retry the customer’s charge up to eight times within a customizable time frame and supports cards. You can override this behavior by disabling Smart Retries and defining your own custom retry rules. When you enable dunning, the next_payment_attempt attribute on the
invoice.payment_failed webhook indicates when Stripe attempts the next collection.
In your Subscriptions and emails settings, you can turn on automatic customer emails to prevent and manage failed payments. You can customize the color, icon, and logo of your customer emails and Stripe-hosted page in the Branding settings.
Stripe lets you automatically send your customers email reminders and notifications.
Manage failed payments
You can choose to automatically send your customer an email when a card payment on an invoice fails with the Send emails to customers to update failed card payment methods option. Stripe only sends these emails when a customer used a card to pay the invoice and it’s set to collect payment automatically.
Link to a Stripe-hosted page from failed payment email Billing Scale
With the Link to a Stripe-hosted page option, Stripe provides a secure, private URL to a Stripe-hosted page in the email. On that page, you can securely collect payments from your customers without writing additional implementation code.
If a payment failure occurs on a one-off invoice, Stripe sends a link to the Hosted Invoice Page to the customer. If a payment fails for a subscription invoice, your customers can use the Stripe-hosted page to:
- View the details and amounts for the failed invoice and the associated subscription.
- Add a new card payment method for their subscription for the payment that’s due and for future subscription payments.
- Pay the failed invoice using the updated payment method. When the payment succeeds, the subscription goes back to an
Customers can update their payment method, but can’t pay their subscription invoice if:
- The invoice isn’t in a payable status.
- The failed invoice isn’t the subscription’s latest invoice.
- The invoice has no more automatic retries scheduled.
The Stripe-hosted page expires 30 days after creation. You can customize your retry schedule to perform retries over those 30 days to best accommodate successful payment recovery after a customer updates their payment methods.
Manage invoices sent to customers
In your Subscriptions and emails settings, go to Manage invoices sent to customers to:
- Email finalized invoices to customers—You can turn this option on to always email your customers a finalized invoice. This setting only affects invoices where the collection_method is set to
- Change a past due invoice’s status—You can choose to mark an invoice as uncollectible if it’s past due by 30, 60, or 90 days. You can also choose to leave the invoice status as-is.
- Automatically reconcile partial payments that meet a minimum—You can instruct Stripe to mark an invoice as paid if it’s partially paid within the set amount. For example, if the payment received from your customer is within 20 USD or less of the total (or at whatever amount you configure), then this setting applies a credit to the invoice for the outstanding amount. It then marks the invoice as paid.