Skip to content

Past-due & dunning

A subscription enters past_due when an automatic renewal charge fails. Genius Checkout retries on a fixed schedule before giving up — this page explains what's happening, what the buyer sees, and what you should do.

Why renewals fail

The most common reasons, in rough order of frequency:

  • Insufficient funds — card declined for amount. The buyer needs to top up or use a different card.
  • Expired card — the saved card has passed its expiry date. Buyer must update their card.
  • Card cancelled / replaced — buyer's bank reissued the card; old token no longer valid.
  • SCA required — issuer wants 3DS re-authentication for this MIT charge. The standard retry loop is skipped for SCA failures because re-charging the same card with the same merchant-initiated path won't change the outcome. The subscription stays past_due until a buyer-facing re-auth flow is available (Phase 2).
  • Issuer fraud block — the bank flagged the renewal. Resolution requires the buyer contacting their bank.

Retry schedule

When a charge fails, the system records dunning_attempts = 1 and schedules a retry. The cadence is:

Attempt #Retried afterCumulative time since first failure
1 (the original failure)0
21 day1 day
33 days4 days
47 days11 days
Give upno further retry

After the fourth failure the subscription stays past_due indefinitely — it does not auto-cancel. You can cancel it manually from the detail page or wait for the buyer to update their card.

If any retry succeeds, dunning_attempts resets to 0 and the subscription returns to active.

What the buyer experiences

  • First failure — the buyer receives the past-due notification email (subject + content depend on your notification preferences).
  • Subsequent retries — silent — no further email until status changes again.
  • Recovery — when a retry succeeds, the next renewal proceeds on the original schedule. No make-up charge is issued for the skipped period unless you do it manually.

Cards expiring soon

Genius Checkout sends a "card about to expire" reminder a few days before the listed expiry date so the buyer can update before a real failure happens. This pre-dunning step typically catches the majority of would-be expiry failures.

Where past-due alerts appear in the portal

Subscriptions list filtered to Past Due status, with red past-due badges on each affected row

  • Subscriptions listPast due red badge on the row.
  • Filter dropdown — pick Past Due to see only affected subscriptions.
  • Detail page — the Details grid shows Dunning attempts: 1, 2, 3, or 4.
  • Event timeline — every charge_failed event is logged with timestamp and failure reason.
  • Dashboard — past-due totals appear in the alerts widget.

What you should do

SituationRecommended action
past_due, attempts = 1Wait — the retry loop will probably recover it within a week.
past_due, attempts = 4 (terminal)Contact the buyer asking them to update their card.
Many past-due subs at onceCheck the Gateways page — a credential issue or gateway outage can cause batch failures.
Past-due with reason "SCA required"Manually reach out to the buyer; the standard retry won't help here.

Next steps

Released under the proprietary Genius Checkout license.