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.
Managing failed payments
You can manage failed payments by going to Manage failed payments for subscriptions in the Subscriptions and emails settings.
Failed payment emails
Stripe’s failed payment emails allow you to send an email to your user when a card payment for an invoice fails. You can customize the colors and logo on these emails to fit the design and branding of your business.
The Smart Retries feature attempts to retry the customer’s charge up to four times within a customizable time frame. 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.
Updating the invoice status for failed automatic collections
You can configure what happens to an invoice after:
- All 3D Secure reminder attempts have been exhausted.
- When the invoice ages past a maximum number of days after its due date.
Under Manage invoices sent to customers, enable the Email finalized invoices to customers and Automatically reconcile partial payments that meet a minimum options.
When sending invoices to your customers, Stripe can also send your customers payment reminders on a predefined schedule. Reminders include payment instructions and a copy of the original invoice.
Payments that require 3D Secure
You can manage payments that require 3D secure by going to Manage payments that require 3D Secure in the Subscriptions and emails settings.
3D Secure emails
When you enable the Send a Stripe-hosted link for cardholders to authenticate when required option, Stripe sends your customers emails if their card on file requires them to complete 3D Secure authentication. This only applies when the payment attempt occurs and the customer isn’t present (payments made after the first billing period). The email links to a Stripe-hosted page where they can confirm the payment.
3D Secure (3DS) provides a layer of protection against fraudulent payments and most card issuers support it. The Strong Customer Authentication (SCA) regulation in Europe requires 3DS authentication for card payments. Unlike regular card payments, 3DS requires cardholders to complete an additional verification step with the issuer. Typically, this involves showing the customer an authentication page on their bank’s website, where they’re prompted to enter a password or a verification code. This process is familiar to customers through the card networks’ brand names, such as Visa Secure and Mastercard Identity Check.
To send reminder emails—along with a schedule of your choosing—enable the Send reminders if 3D Secure isn’t completed… option. When you enable this option, Stripe notifies your customer of an incomplete 3D Secure payment, prompting them to confirm their payment on a Stripe-hosted page.
Accepting partially paid invoices
When you enable the Automatically reconcile partial payments that meet a minimum option, 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.
Smarter saved cards
Saved card details can continue to work even if the customer’s issuing bank has replaced the physical card. Stripe works with card networks and automatically attempts to update saved card details whenever a customer receives a new card. Most US-issued American Express, Visa, Mastercard, and Discover cards support automatic card updates. International support for automatic card updates, however, can vary from country to country. Stripe can’t identify what cards can be automatically updated.
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 tries to intelligently assess when to retry payments. We continuously learn from new purchaser behaviors and transaction, which provide for a more flexible and responsive 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 four times within a customizable period and works for cards and any other pull-based payment methods. To avoid bank fees, Stripe doesn’t retry invoice payments made with ACH debit, BECS debit, or SEPA debit.