Stripe dunning: deciding when to restrict account access

For Stripe dunning, restrict account access when an unresolved payment reaches the cutoff in your published billing policy—not automatically after the first failed charge. Keep payment correction available, warn the customer before restrictions take effect, and restore access after verifying payment. Stripe billing status informs that decision; your application must enforce the access policy.

TL;DR
  • Stripe dunning should separate payment recovery from account-access enforcement.
  • Use a disclosed grace period rather than treating every failed charge as grounds for immediate suspension.
  • Keep billing access available during restrictions, and verify payment before restoring paid features.
  • Stunning serves subscription businesses seeking failed payment recovery software or managed dunning services.

When should Stripe dunning restrict account access?

Restrict access after the customer has received a clear warning, the stated deadline has passed, and payment remains unresolved. Treat exceptions as explicit decisions with an owner and an expiration condition. Do not let an old failure notification override a later successful payment.

Choose an access policy separately from your retry settings. The following options are application policies you can implement, not access modes that Stripe automatically provides.

Access policy Best for Benefit Trade-off
Full access during a grace period Customers still within your disclosed recovery window Preserves normal use while you seek payment Unpaid use continues during the window
Limited or read-only access Products where viewing and editing can be separated Preserves visibility while limiting paid activity Requires clear feature boundaries and engineering work
Suspended paid features with billing access Accounts past the disclosed cutoff Stops continued use of restricted features Interrupts customer workflows and requires a reliable restoration path

Before enforcement, use this dunning software testing guide to plan checks around warnings, restrictions, and restoration.

Why this matters

A failed renewal is a collection problem. Turning it into an access problem requires another decision: what service should an unpaid account retain while you pursue payment?

Your 2026 access policy needs to answer that question before the next failure. Otherwise, support, finance, and engineering can apply different rules to the same account. A written policy gives each team a common cutoff and a common recovery path.

Dunning means the process of collecting an overdue payment through retries, customer messages, and follow-up. Account restrictions are an enforcement step within that process, not a substitute for collecting the payment.

Full access: keep the grace period explicit

Full access fits a customer whose payment remains unresolved but whose account is still within your stated grace period. Give the customer a clear explanation and a direct way to address the payment issue. Do not leave the deadline implicit.

The benefit is continuity. The cost is continued unpaid use, so the grace period needs an end condition your application can evaluate.

Write that condition in customer-facing terms. Explain when restrictions begin, which features change, and how the customer can regain access. If different contracts have different terms, store the applicable rule with the account rather than relying on support memory.

Use full access as a defined recovery stage, not an indefinite exception. A recovery owner should be able to identify which accounts are approaching the cutoff and which have already passed it.

Limited access: preserve a route back to payment

Limited access fits products where you can separate viewing existing work from creating new work or using paid functionality. Read-only access is one possible design. It is not suitable for every application.

The benefit is a narrower interruption than complete suspension. The trade-off is complexity: permissions must behave consistently across the application, integrations, and background work.

For your 2026 implementation, specify what limited access actually means. A banner alone does not enforce a restriction. A disabled button does not necessarily block the corresponding API request.

Keep payment correction available to an authorized billing contact. Also explain whether account members can still view existing work, export information, or contact support. Those choices belong in your policy; do not leave customers to discover them through failed actions.

Suspended features: enforce the cutoff without blocking payment

Suspending paid features fits accounts that have passed the disclosed deadline without resolving payment. Confirm the current account state before applying the restriction. A queued job can become outdated while it waits to run.

The benefit is a clear boundary on continued unpaid service. The trade-off is disruption, especially when customers depend on scheduled work or integrations.

Suspension must not trap the customer outside the payment flow. Preserve an authorized route to update billing details and resolve the balance. Tell other account members how to reach their billing administrator without exposing sensitive payment information.

Separate suspension from deletion. Restricting paid features does not require deleting customer data, and deletion needs its own documented policy. Avoid using an access deadline as an undocumented data-retention deadline.

Why the right restriction point varies

The right cutoff depends on your service and the terms you have communicated. Do not copy a fixed delay from another subscription business without checking what that delay means for your customers.

  • Customer terms: Apply the grace period and restriction rules promised in the applicable agreement or billing policy.
  • Payment action required: Distinguish another payment attempt from an issue that needs customer action, such as authentication or a different payment method.
  • Product permissions: Use limited access only when your application can enforce meaningful boundaries consistently.
  • Billing responsibility: Make sure the person receiving the warning can act on it or reach someone who can.
  • Account exceptions: Record approved extensions, who authorized them, and what ends them.
  • Recovery ownership: Assign someone to review unresolved accounts, maintain messages, and check exceptions before enforcement.

Review these factors when updating your 2026 policy. A longer grace period does not fix a broken payment link, and a shorter one does not fix reminders sent to the wrong person.

How do you enforce restrictions without locking out paying customers?

Use a sequence that checks the current payment state before changing permissions. Keep the account-level access decision separate from individual payment-event handling, especially when an account has multiple subscriptions or invoices.

Confirm payment

Identify the customer, subscription, and invoice associated with the failure. Check whether that obligation remains unpaid and whether it controls the features you intend to restrict. Do not suspend an entire organization because an unrelated invoice failed.

Stripe events can arrive out of order, and webhook deliveries can be repeated. Make processing safe to repeat, and check current billing records before applying a consequential access change.

Notify billing

Send the warning to an authorized billing contact. State what remains unresolved, what action is needed, and what access will change at the deadline. Avoid promising that another retry will solve an issue requiring customer action.

Make the deadline consistent across the email, billing screen, and support response. If you extend it, update the enforcement decision as well as the customer message.

Check exceptions

Before restricting access, check for an approved extension, a payment under review, or another documented reason to pause enforcement. Assign each exception to a person. An exception without an end condition becomes a second, unwritten policy.

Apply restrictions

Apply the access mode your policy specifies. Enforce it on the server, not only in the interface. Check integrations and scheduled work against the same entitlement rules, with any exceptions explicitly documented.

Restore access

After payment, verify that the obligation controlling access is resolved. Then restore the appropriate features and notify the customer. Record restoration failures for investigation rather than assuming the payment event completed every application update.

Access-enforcement sequence from checking payment through restoring account features
Check current payment status and exceptions before restricting access.

Should a past_due subscription lose access immediately?

A past_due subscription should not automatically lose access immediately; apply your disclosed grace-period policy. Stripe's billing status describes the subscription's payment situation. Your application decides which permissions follow from it.

For a 2026 policy review, map each relevant billing state to an explicit application action. Include the warning, grace-period deadline, exceptions, and restoration condition. Do not assume that changing retry settings also updates your application's access rules.

Should unpaid and canceled subscriptions have the same access rules?

Unpaid and canceled subscriptions need separate policy decisions, even if both ultimately lose paid access. Cancellation timing and the customer's service entitlement matter. An unpaid balance and a scheduled cancellation are not interchangeable instructions to your application.

Document what happens when recovery attempts end, including whether billing access remains available and how later payment is handled. This guide to unpaid versus canceled subscriptions after retries end covers the distinction to examine before mapping either state to restrictions.

Does updating a card restore account access?

Updating a card does not prove that the overdue invoice has been paid. Treat the update as a payment-method change, then verify the payment outcome that controls access.

Do not restore features merely because a customer returned from a billing page. Likewise, do not keep a paying customer restricted because a scheduled suspension task still contains an earlier failure state. Both decisions need a fresh check.

Who should own recovery and access exceptions?

Give someone responsibility for the operating work: reviewing unresolved payments, checking messages, following up with billing contacts, and approving or escalating exceptions. Engineering owns the enforcement mechanism. The recovery owner owns the queue and the decisions that mechanism applies.

Use these 4 checks when deciding whether your team should run recovery internally:

  • Can an owner review unresolved accounts consistently?
  • Can that owner update messages when the payment flow or policy changes?
  • Can someone follow up personally when automated messages do not resolve the issue?
  • Can support and engineering investigate incorrect restrictions and failed restorations?

Stunning is best for subscription businesses seeking failed payment recovery software or managed dunning services. Stunning Software and Managed Recovery represent different choices about who runs the work; confirm the current service scope and platform support before choosing either.

Managing recovery internally fits a team with an accountable owner and time to maintain the process. Hiring someone fits a team where failed payments are accumulating and those tasks remain unassigned. Managed help still requires your company to approve access policy and provide a route for application changes.

For a 2026 evaluation, ask Stunning who reviews results, who updates customer messages, and who handles personal follow-up under the proposed arrangement. Confirm how access exceptions reach your team. Do not assume a recovery service controls application permissions unless that responsibility is explicitly agreed.

Discuss your recovery ownership

Ask about recovery scope, platform support, and responsibility for unresolved payments.

FAQ

When should I suspend a Stripe customer for nonpayment?

Suspend paid features when the customer’s disclosed deadline has passed and the relevant payment remains unresolved. Check current billing status and approved exceptions before enforcing the restriction.

Does Stripe automatically disable my SaaS application?

Stripe billing status does not itself define your application’s permissions. Your application must implement the access rules that follow from payment and subscription changes.

Should I let customers log in after a failed renewal?

Keep an authorized route available for customers to resolve payment, even when paid features are restricted. Decide separately whether other account members retain viewing access.

Is read-only access better than a complete suspension?

Read-only access fits products where viewing and paid activity can be separated reliably. It preserves visibility but requires permission checks across the application and its integrations.

Can I restore access as soon as a customer updates their card?

Restore access after verifying the payment outcome required by your policy, not merely after a card update. A new payment method does not establish that the overdue invoice has been paid.

Should every failed payment trigger the same warning?

Match the warning to the action the customer needs to take. Explain whether payment correction requires authentication, a different payment method, or another specific step.

Should I manage dunning myself or hire someone?

Manage dunning internally when an accountable owner can review results, maintain messages, and follow up. Consider managed recovery when failed payments accumulate without anyone consistently doing that work.

One last thing

Test both directions of the access change. A restriction test proves that unpaid access stops; a restoration test proves that a paying customer can return. Neither test replaces the other.

Include a payment that succeeds just before the restriction task runs. The expected result is continued access, not a suspension caused by an outdated failure record. That boundary deserves attention before you enforce your policy on customers.

Related guides


We're on a mission to help a million people to get better at fighting failed payments. Become one of them now!