Charging Automatically

    Stripe can automatically attempt to pay an invoice if the customer has a payment method on file. Where an invoice is set to be charged automatically, a charge is attempted about an hour after the invoice’s creation.

    To create a one-time invoice that charges the payment method on file, set the invoice’s billing property to charge_automatically.

    For a subscription, you can similarly set the billing property to charge_automatically, so that all of the invoices generated are charged to the default payment method on file.

    For both one-off invoices and subscriptions, you can also configure automatic charges through the Dashboard.

    Retrying failed payments

    When a payment attempt for an invoice fails, Stripe can retry payment at a later date. You can choose the schedule of retries; or you can allow Stripe’s Smart Retries feature to optimize the schedule and number of retries.

    Using machine learning, Smart Retries chooses optimal times to retry failed payment attempts, so as to increase the chance of a successfully paying an invoice. The machine learning system behind Smart Retries uses hundreds of time-dependent, dynamic signals, such as these:

    • The number of different devices that have presented this card in the last N hours
    • Payments made for debit cards in certain countries might be slightly more successful at 12:01 am in local time zones

    Stripe then uses this information to intelligently assess when to retry cards, based on a combination of these factors. Unlike more common, rules-based, approaches to card and payment retry logic, Stripe’s system is flexible, responsive, and continuously learning from new purchaser behaviors and transaction features.

    The Smart Retries feature attempts to retry the customer’s charge up to four times within a 28-day period. You can override this behavior (for all invoices) in your Dashboard’s Billing Settings, by disabling Smart Retries and defining your own custom retry rules.

    Sending email reminders

    You can configure Stripe to send email notifications to your customer upon failed payment attempts, and to send receipts after invoices are paid. Before you send emails, be sure to customize the branding in your account settings.


    We're always happy to help with code or other questions you might have! Search our documentation, contact support, or connect with our sales team. You can also chat live with other developers in #stripe on freenode

    Was this page helpful? Yes No


    Thank you for helping improve Stripe's documentation. If you need help or have any questions, please consider contacting support.