Lewati ke konten
Buat akun
atau
Masuk
Logo Dokumen Stripe
/
Tanya AI
Buat akun
Masuk
Mulai
Pembayaran
Pendapatan
Platform dan situs belanja online
Manajemen uang
Sumber daya pengembang
Gambaran Umum
Billing
Gambaran umumTentang Billing API
Subscriptions
Invoicing
Tagihan berbasis penggunaan
Penawaran Harga
Manajemen pelanggan
Penagihan dengan produk lainnya
Pemulihan pendapatan
    Gambaran umum
    Otomatiskan coba ulang pembayaran
    Otomatiskan email pelanggan
    Analitik pemulihan
Otomatisasi
Coba integrasi Anda
Pajak
Gambaran umum
Gunakan Stripe Tax
Kelola kepatuhan
Pelaporan
Gambaran umum
Pilih laporan
Konfigurasikan laporan
API laporan
Melaporkan untuk beberapa akun
Pengakuan pendapatan
Data
Gambaran umumSkema
Laporan custom
Data Pipeline
Pengelolaan data
BerandaPendapatanRevenue recovery

Automate payment retries

Automatically retry failed subscription and invoice payments to reduce involuntary churn.

Payments can fail for a number of reasons, but many of them are recoverable. Stripe Billing can automatically retry failed subscription and invoice payments for you.

To configure subscription retries in your Dashboard, go to Billing > Revenue recovery > Retries. For one-time invoice retries, go to Advanced invoicing features under Settings > Billing > Invoices.

Stripe recommends using Smart Retries, but you can also create a custom retry schedule.

Catatan

Stripe doesn’t retry payments if:

  • No payment methods are available
  • The issuer returned a hard decline code
  • The payment card is India-issued
  • The Stripe Connect account has been disconnected

Payment method ordering

When retrying, Stripe uses the first available payment method in this list, in this order:

PriorityPayment methodAPI attribute
1Subscription default payment methodsubscription.default_payment_method
2Subscription default payment sourcesubscription.default_source
3Customer invoice default payment methodcustomer.invoice_settings.default_payment_method
4Customer default payment sourcecustomer.default_source

When you update payment methods after a failed payment attempt, update the field where the previous payment failed. For example, if a subscription has a default_payment_method, but you only update customer.invoice_settings.default_payment_method, Stripe continues to retry on the subscription’s default_payment_method.

Smart Retries

Using AI, Smart Retries chooses the best times to retry failed payment attempts to increase the chance of successfully paying an invoice. The AI model behind Smart Retries uses time-dependent, dynamic signals, such as:

  • The number of different devices that have presented a given payment method in the last N hours.
  • The best 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 targeted approach over traditional rules-based payment retry logic.

Smart Retries reattempts the charge according to your specifications for the number of retries and the maximum duration. You can also use automations to create different retry policies for different customer segments.

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 indicates when the next collection attempt will be.

Webhook events

For both Smart Retries and custom retry schedules, Stripe reattempts the charge according to your specified schedule. Use the invoice.payment_failed webhook to receive subscription payment failure events and retry attempt updates.

The attempt_count attribute on the invoice.payment_failed webhook indicates how many attempts have been made so far. If a failure returns a hard decline code, we can’t retry invoice payment without a new payment method. Retries continue to be scheduled, and attempt_count continues to increment, but retries only execute after detecting a new payment method. Unexecuted retries don’t create a new Charge.

The next_payment_attempt attribute on the invoice indicates the date when Stripe will attempt the next collection. For automations users, next_payment_attempt is no longer set in invoice.payment_failed webhooks but is set in invoice.updated webhooks.

Hard decline codes

Stripe can’t automatically retry a payment if the card issuer returns any of these hard decline codes:

  • incorrect_number
  • lost_card
  • pickup_card
  • stolen_card
  • revocation_of_authorization
  • revocation_of_all_authorizations
  • authentication_required
  • highest_risk_level
  • transaction_not_allowed: This disables auto-advance, effectively pausing any automations that mark the invoice as uncollectible.

For these failures, the scheduled retries continue but the payment only executes if you obtain a new payment method.

Custom retry schedule

You can also modify the retry schedule with custom rules. You can configure up to three retries, each with a specific number of days after the previous attempt.

You can use the invoice.payment_failed event to monitor subscription payment failure events and retry attempt updates. After a payment attempt on an invoice, its next_payment_attempt value is set using the current subscription settings in your Dashboard.

Peringatan

When using automations, the next_payment_attempt is no longer set in invoice.payment_failed webhooks but is set in invoice.updated webhooks.

If recovery fails, the subscription transitions according to your settings. The options are:

SettingDescription
Cancel the subscriptionThe subscription changes to a canceled state after the maximum number of days defined in the retry schedule.
Mark the subscription as unpaidThe subscription changes to an unpaid state after the maximum number of days defined in the retry schedule. Invoices continue to be generated and stay in a draft state.
Leave the subscription past-dueThe subscription remains in a past_due state after the maximum number of days defined in the retry schedule. Invoices continue to be generated and charge the customer based on retry settings.

After the final payment attempt, we make no further payment attempts. Changing your subscription settings only affects future retries.

Direct Debit Billing Retries

Enable Direct Debit retries to have Stripe automatically retry failed Direct Debit payments caused by insufficient funds. You can turn on retries for recurring subscription invoices, one-off invoices, or both. The table below provides details for each of the Direct Debits.

Direct DebitMaximum retriesMaximum retry periodMinimum invoice amountMandate requirementsStatus
ACH Direct Debit240 days0 USDACH Direct Debit mandatesGeneral availability
ACSS Direct Debit130 days20 CADACSS Direct Debit mandatesPrivate preview
Australia BECS Direct Debit230 days15 AUDAU BECS Direct Debit mandatesPrivate preview
Bacs Direct Debit230 days0 GBPBacs Direct Debit mandatesPrivate preview
New Zealand BECS Direct Debit130 days20 NZDNZ BECS Direct Debit mandatesPrivate preview
SEPA Direct Debit230 days20 EURSEPA Direct Debit mandatesPrivate preview

Catatan

Use of Direct Debit retries doesn’t guarantee that a debit transaction will succeed. Stripe isn’t responsible for losses if a direct debit transaction isn’t retried.

Apakah halaman ini membantu?
YaTidak
  • Butuh bantuan? Hubungi Tim CS.
  • Bergabunglah dengan program akses awal kami.
  • Lihat log perubahan kami.
  • Ada pertanyaan? Hubungi Bagian Penjualan.
  • LLM? Baca llms.txt.
  • Dijalankan oleh Markdoc