Skip to content

What Happens When a Subscription Payment Fails?

Follow the default failure timeline while keeping the renewal order, subscription, gateway, and access states separate.

Emran // ArrayHash8 min read

When a subscription payment fails, the renewal order remains unpaid or becomes failed, the reason is logged, and the customer is prompted to fix or pay it. With ArraySubs defaults, access stays active for three grace days, then the subscription moves on-hold; cancellation follows seven days later if it remains unpaid. Gateway retry behavior varies.

Key takeaways

  • Order, subscription, gateway, and access states can differ.
  • Current Stripe renewals can receive up to three local 24-hour retries.
  • PayPal and Paddle own their remote retry schedules; manual invoices wait for payment.
  • Verify an order is unpaid at the gateway before retrying.
  • Late recovery normally preserves the original billing anchor in current ArraySubs.

The default timeline

Failure policy timeline — a focused timeline for A failed payment starts a policy branch.

Relative timeRenewal orderSubscription/customer action
Day −3Reminder can be scheduledReview upcoming renewal/method
Hour −6Pending order normally createdManual payer may receive invoice
Day 0Automatic attempt fails or manual order remains unpaidActive; use Pay Now/update/authenticate
Days 1–2Stripe retries may runActive grace
Around day 3Retry and overdue checks can share a boundaryActive → on-hold if unpaid
Days 3–10Open/failed renewal remainsOn-hold; payment can recover it
After total graceUnresolved obligationCancelled unless configured fallback applies

The overdue checker runs hourly, so status may change after the exact threshold. The day-three third-retry/on-hold ordering depends on Action Scheduler execution; say “up to three retries,” not that all three must run before on-hold.

What changes immediately

For an ordinary automatic decline, current ArraySubs can store time and reason, normalize a category, mark the renewal order failed, add private notes/audit data, send customer/admin emails, keep the subscription active during grace, and schedule a supported local Stripe retry.

If the system cannot create a usable renewal order, a technical fallback may put the subscription on-hold sooner. Not every infrastructure failure follows the clean decline timeline.

Branch by payment mode

  • Manual/offline: no automatic card attempt; the customer/admin pays the open renewal.
  • Stripe: ArraySubs owns the local order, attempt, and up-to-three retry path.
  • PayPal: remote PayPal subscription bills; ArraySubs reconciles webhooks.
  • Paddle: remote Paddle subscription and transactions drive collection events.

Do not apply WooCommerce Subscriptions’ documented default retry rules to ArraySubs; they are different engines (Woo failed-payment retry).

Customer action by reason

ReasonAction
Insufficient fundsuse another method or make funds available before permitted retry
Expired cardupdate method
Incorrect datacorrect details or use another method
Authentication requiredcomplete secure authentication/Pay Now
Generic issuer declinecontact issuer or use another method
Processing errortry later while merchant checks gateway/logs
Unknownpreserve raw code and investigate

What on-hold and recovery mean

On-hold stops normal renewal scheduling and may restrict access through store rules. The open order can still be paid while recoverable. Successful payment clears pending, retry, failure, and on-hold state; restores active status; advances the next date; and schedules the next cycle.

Illustrative monthly recovery:

scheduled date = July 15
paid late = July 17
next date basis = July 15 + one month = August 15

Retry candidates — an illustrative funnel for A failed payment starts a policy branch.

Current default configuration, not a universal recommended grace policy.

Merchant response checklist

  1. Open the subscription and affected renewal order.
  2. Confirm unpaid state at WooCommerce and gateway.
  3. Identify schedule/retry owner.
  4. Read raw error, normalized category, retry count, and next job.
  5. Verify the failure message and customer action work.
  6. Check grace, on-hold, access, and fulfillment policy.
  7. Use supported retry only when appropriate; it performs pre-charge verification.
  8. Reconcile remote/local disagreement before another attempt.
  9. After payment, verify paid order, active subscription, next date, jobs, and cleared failure state.
  10. Do not confuse Pro “Mark Resolved” with payment.

Order, access, customer — a focused hub for A failed payment starts a policy branch.

For the complete recovery program, read Failed Subscription Payment Recovery.

Final recommendation

Tell the customer exactly what failed, what remains active, what they must do, and when the next status change occurs. Operators should reconcile payment before retrying and verify recovery across every state. Compare ArraySubs plans.

Frequently asked questions

Does ArraySubs cancel after one failed payment?

Usually no for an ordinary decline. Current defaults provide three active-grace days and seven more on-hold days before cancellation. Technical order-creation failures can differ.

Will ArraySubs retry automatically?

Current Stripe renewals can receive up to three local retries 24 hours apart. Manual orders wait for payment; PayPal and Paddle use remote recovery policies.

Can the customer keep access?

The subscription remains active during active grace. On-hold access depends on configured entitlement rules. Physical fulfillment needs its own cutoff policy.

What if the gateway shows paid but WooCommerce shows failed?

Do not retry blindly. Compare the transaction, renewal order, webhook/logs, and use supported reconciliation. Current retry processing checks for an existing successful charge.

Does late payment move the next date?

Current ArraySubs normally advances from the original scheduled due-date basis, so a two-day-late payment keeps the existing monthly anchor.

Disclosure, verification, and update log

  • July 2026: Verified against current ArraySubs failure, retry, overdue, and recovery paths. Exact scheduler ordering and email delivery require sandbox verification.

Continue from strategy to setup

Use a recipe when the model is settled

These articles own the decision and operating model. The ArraySubs feature map and recipes cover the exact product, billing, and customer-workflow configuration.

Written by

Emran // ArrayHash

Research and practical guidance for WooCommerce subscription operators and implementation teams.

Technical review

ArraySubs Engineering Team

Reviewed against current ArraySubs code, product documentation, and the linked primary platform sources.

From plan to working store

Build the subscription system you just mapped

Start with the free ArraySubs core, then add Pro automation when the store needs supported automatic gateways and deeper operations.

No credit card required · Keep the same subscription records as you grow