Mintcash
Concepts

Retries

How MintCash retries failed recurring charges over time — the schedule, the customer notifications, and when a subscription is cancelled.

When a subscription renewal fails, MintCash doesn't give up on the first decline. It retries the charge on a fixed schedule, escalating customer communication along the way, and only cancels the subscription once every attempt is exhausted. This is the "dunning" loop you'd otherwise build yourself.

Retries vs. cascading

Cascading happens within a single charge attempt — try provider A, then B, then C, all in seconds. Retries happen across time — try today, fail, wait a day, try again. The two combine: each retry attempt can itself cascade across providers.

The retry schedule

Rendering diagram…
AttemptDelayCustomer email
1st retry1 dayNone — silent retry
2nd retry3 days"Your payment failed"
3rd retry5 days"Please update your payment method"
4th retry7 days"Your subscription will be cancelled"
After 4thSubscription cancelled, access revoked

The delay is measured from the previous attempt, not from the original renewal date.

What you see

  • subscription.payment_failed — fires after every failed retry attempt
  • subscription.payment_succeeded — fires the moment a retry attempt wins
  • subscription.cancelled — fires after the 4th retry fails and the subscription terminates

Each retry creates a new Payment linked to the subscription. The subscription itself stays in the failed payment state until either a retry succeeds (back to active) or all attempts are exhausted (cancelled).

What stops the retry loop

Some failures end the loop immediately — there's no point retrying a card we know won't work.

ResolutionRetry?Why
insufficient_fundsYesThe customer may have funds later
provider_errorYesTransient PSP issue
issuer_declineYesIssuer may approve a later attempt
card_expiredNoLoop pauses pending a card update
lost_or_stolen_cardNoSubscription cancelled immediately
antifraud_errorNoSubscription cancelled immediately

When the loop pauses for a card-level reason, the customer email points them at a self-serve link to update the card. Once they do, the schedule resumes.

Card expiry monitoring

MintCash also proactively emails customers when their card on file is about to expire:

WhenEmail
2 months before"Update your payment method"
1 month beforeReminder
2 weeks beforeFinal warning
1 week beforeSubscription will be cancelled

This prevents the retry loop from being triggered in the first place for cards that simply ran out the clock.

See also

  • Subscriptions — the subscription state machine that retries feed into
  • Cascading — multi-provider attempts within a single retry
  • Errors — which resolutions are retryable and which terminate the loop