When a payment fails

Past due, the retries Stripe runs for you, the email that comes to the studio, and what to tell the family.

Cards expire, banks decline, accounts run dry. On a studio of any size this happens most months, and Dojo Tiger's whole approach to it is: tell the studio once, let Stripe do the retrying, and never touch the roster.

What you see

The row on Students then Enrollments flips to a red Past due badge with a count of attempts — Past due (2 tries) — and offers two buttons, Retry and Stop.

The count is how many attempts have been made on the current failure, not how many times this family has ever failed.

What you get told

One email, to the studio. It goes to the Contact Email on Studio then General, with a subject naming the student and the amount:

Payment failed for Jordan Ellis — $95.00

Inside: which student, which program, how much, and the decline reason in plain words rather than a bank code.

It is sent once per failure cycle, not once per retry attempt. Stripe may try the card four times over two weeks; you get one email about it.

The family is not emailed by Dojo Tiger

Deliberately. Their bank has already told them the card was declined, and Stripe sends its own notifications if you have those switched on in your Stripe dashboard. A third message from us, about something they usually cannot fix faster than the retry will, is noise — and on a shared card it goes to somebody who already knows.

If a family should hear about it, you tell them. That is the studio's call, not the software's.

What happens on its own

Stripe retries the card on its own schedule — typically a handful of attempts spread over about two weeks, configured in your own Stripe dashboard. Dojo Tiger does not run a second retry schedule of its own; Stripe's timing is modelled on real card-network behaviour and is better than anything bolted on top.

If a retry succeeds, the row goes back to Active and the counters reset. You do not have to do anything.

If Stripe exhausts its retries, collection stops but the subscription is not cancelled — it stays fixable with one click once the card situation is sorted.

The Retry button

Retry asks Stripe to attempt the outstanding invoice again, right now. Use it when the family has told you the problem is fixed — they moved money, or the bank lifted a block on the same card.

Three outcomes:

ResultMessage
It worked"Jordan's payment went through." The row returns to Active.
It's in flight"The payment is being processed. The status will update once the bank confirms." Don't press it again.
It failed againThe decline reason, in plain words. Nothing was charged.

If there is nothing to retry yet you get "There is no open invoice to retry yet. The payment provider will try the card again automatically." — that is not an error, it just means Stripe hasn't raised the next attempt.

Retrying the same dead card repeatedly achieves nothing and can attract attention from the card network. Once is a check; three times is a habit worth breaking.

When the card is genuinely dead

A cancelled or expired card cannot be retried into working. The family has to put a new one on file, and there is no way for staff to add a card on their behalf — card details never pass through this app.

  1. Ask the family for a new card

    They add it themselves from their own Payments page → Add a card, which redirects them to Stripe's hosted form.

    If they don't have a login, the Email guardian button on a Needs card row sends them a link that also prefills a signup.

  2. Stop the old subscription

    Stop in the Billing column. Choose Stop immediately — there is nothing paid-for left to protect on a subscription that is past due.

  3. Start a new one on the new card

    Start, pick the new card, confirm. The first payment is taken straight away, which is also how you find out the new card works.

The unpaid month does not collect itself

Starting a fresh subscription charges from today forward. The invoice that failed stays outstanding at Stripe — it is not rolled into the new subscription and it will not be retried against the new card.

Decide what you want to happen to it: take it as a one-off with Charging a card on the new card, or write it off by voiding the invoice in your Stripe dashboard. Leaving it is the one option that quietly misstates your books.

What does not happen

The roster is not touched. A past-due student stays enrolled, stays on the attendance sheet, and stays in your active-enrollment count. Their child turns up on Tuesday and is on the register.

That is a deliberate design decision, not an oversight: a failed card is a billing fact, not an attendance fact. If a family should stop training over unpaid fees, that is a conversation and then a roster change somebody makes on purpose.

What to say to a family

Short version, and it is usually enough:

Your card was declined for this month's tuition. The bank will be retried automatically over the next couple of weeks. If you know the card has changed, add the new one on your Payments page and let us know — we'll set it up from our side.

Avoid promising a specific retry date. The schedule is Stripe's and it moves.

Things that fix themselves overnight

A nightly job reconciles what Dojo Tiger knows about Stripe. If a status looked wrong yesterday and is right this morning, that is what happened — nothing was lost, and nothing needs re-doing.

Last reviewed