Even with the best intentions, payments sometimes fail: a card expires, there isn't enough money in the account, or the bank declines the charge on suspicion of fraud. This article walks through what happens in these situations, how long the client stays active, and what you can do about it as the studio.
First purchase vs. renewal — two different situations
Zenamu treats two scenarios where a payment "doesn't go through" differently, and behaves differently in each:
Scenario | Membership status | Grace period | Email to the client | Action |
First purchase (3D Secure verification failed during sign-up) | Waiting for payment | None — the membership was never active | None (Zenamu deliberately skips this case) | Client: Complete payment button (not Retry payment) |
Renewal (the automatic charge on an already active membership failed) | Unpaid | 7 days, but the client can no longer book | Yes — "Payment failed for membership" + possibly "Action required — verify payment for membership" | Studio: Retry payment (charges the unpaid invoice). Client: update the card through the Stripe portal |
Most of this article covers the second scenario (a failed renewal). The first scenario (3D Secure verification on the first purchase) has its own section below.
Statuses during the first purchase (waiting for 3D Secure verification)
When a client buys a recurring membership and the bank requires 3D Secure verification, the payment is held and waits for verification. At that point the membership is not yet active — it's waiting for the client to verify. In the client's account (the detail view of their membership), one of 4 statuses then shows. In the studio admin area, all you see for such a membership is the waiting for payment status label — the messages and buttons below are part of the client's account, not the admin area:
"Complete payment verification" The client has a Stripe payment window in their account (3D Secure — an SMS or a notification from their banking app). The Complete payment button reopens the Stripe payment window.
"Payment verification not completed" The client closed the verification somewhere along the way (closed the browser tab, ran out of time). The Complete payment button sends them back to the Stripe payment window — Stripe keeps the payment open for up to 24 hours, so a new attempt is still possible without a fresh charge (and without creating a new subscription). Next to it is the Check status again button — for when the client has since received confirmation from their bank and just wants to refresh the current status.
"Payment received" (with the note "Your recurring membership will activate in a few seconds…") An intermediate state. The client passed verification, Stripe confirmed the payment, but the confirmation hasn't reached Zenamu yet (or it's still being processed). It usually switches to Active within a few seconds. If it stays longer, that's the 4th status.
"Activation taking longer than expected" This status is rare and usually means Stripe's confirmation hasn't arrived yet (typically a minor outage). The client can click Check status again; once the confirmation arrives, Zenamu flips the status automatically.
Important — no failure email for the first purchase. When 3D Secure verification on the first purchase ultimately fails (the client forgets about it entirely and Stripe cancels the open payment after about 24 hours), Zenamu deliberately doesn't run the usual "failed renewal" process — so it doesn't send the "Payment failed for membership" email, doesn't start the 7-day grace period, and doesn't mark the membership as Unpaid. The membership simply stays in the Waiting for payment status, and the client can go through the purchase again at any time or return to the Complete payment button (while the payment is still open).
This separation is intentional: it makes no sense for a client to receive a reminder email about a payment they never even completed. Standard reminders and the grace period therefore apply only to already active memberships, where Stripe has declined one of the regular follow-up attempts to charge the card.
Step 1 — The payment fails (failed renewal)
On the day of the next renewal, Stripe tries to charge the client's card. If the bank declines, Stripe reports it to Zenamu.
Here's what happens in Zenamu:
The membership status changes to Unpaid.
The client gets an email notification — it tells them the payment failed and prompts them to update their card.
In the membership detail in the admin area, you'll see a record of the failed renewal in the history (of the type "Recurring membership payment failed") with a date. This record doesn't include the reason or the code the bank declined with — you'll find the specific decline reason on the relevant invoice or subscription in the Stripe Dashboard.
Step 2 — The grace period
Even when a payment fails, Zenamu doesn't cancel the membership outright. Instead, it gives the membership a 7-day grace period, during which:
The membership moves to Unpaid. In this status the client can NO LONGER book new sessions — the grace period protects against the membership being cancelled, not against losing access to bookings.
Existing bookings (made before the failure) stay valid — Zenamu doesn't cancel them retroactively. The client still attends what they'd already planned.
During the grace period, Stripe retries the payment automatically.
In their account, the client sees the warning "Payment failed. Membership stays active until {{specific date}}." — the date is the day the grace period ends, so the client knows by when they need to sort things out (update the card, top up funds).
Watch out — a common mix-up: the "grace period" means "we'll give the client time to fix the problem before we cancel the membership for good." It does NOT mean "the client can keep attending and booking during this time." If you want to let the client make new bookings in this window, you'll need to solve it another way (for example, manually adding credits or make-up sessions for them).
The 7-day length is fixed and can't be changed at the level of an individual studio.
Step 3 — Stripe's automatic charge attempts
During the grace period, Stripe tries to charge the payment again on its own. Stripe controls the timing of these attempts based on the country, the card type, and the reason for the first failure. There are typically 1 to 4 attempts spread over a few days. Depending on your Stripe settings, some of these automatic attempts may even run after the seven-day grace period has ended — but Zenamu only goes by the end of that period (see Step 5), so Stripe's later attempts no longer affect automatic cancellation in Zenamu.
This behaviour:
Is not under Zenamu's control. You'll find the settings in the Stripe Dashboard (Settings → Subscriptions → Failed payments). Stripe's default is a sensible compromise, and we recommend changing it only after a consultation.
If the client has updated their card in the meantime (through the Stripe customer portal or with help from their bank), the next attempt usually goes through.
If it goes through, the status returns to Active and the client gets an email confirming the successful renewal.
These attempts are automatic — neither you nor the client needs to do anything.
Step 4 — Retrying the payment manually
In some situations you'll want to try the payment manually, without waiting for the next automatic attempt:
The client has written to tell you they've already updated their card.
The client has confirmed they have money in their account.
The client has updated their details and wants you to charge them right away.
The Retry payment button is available only to the studio in the admin area, in the detail of the client's membership. The client doesn't have this button in their account — if they want to resolve the payment themselves, they update their card through Manage payment method (the Stripe customer portal), and Stripe's next automatic attempt then usually goes through.
The Retry payment button (in the admin area) appears for:
A membership in the Unpaid status (a failed renewal) with at least one failed attempt — Retry payment starts a fresh attempt to charge the unpaid invoice through Stripe.
The button does not appear if:
The membership has a cancellation scheduled (Pending cancellation) or has already been cancelled.
The membership is already in the Cancelled or Expired status.
For an unfinished first purchase (Waiting for payment — 3D Secure verification), there's a different button in the client's account: Complete payment (which reopens the Stripe payment window with the open payment). This is not the same as Retry payment — Retry payment is the studio's tool for a failed renewal on an already active membership, while Complete payment is for the client to finish 3D Secure verification on the first purchase.
When Retry payment goes through, the membership returns to the Active status.
Step 5 — The grace period expires (after 7 days)
If the payment still can't be charged after the 7-day grace period, automatic cancellation kicks in:
Once an hour, Zenamu checks for memberships in the Unpaid status whose grace period has expired.
For each one: Zenamu cancels the membership in Stripe and sets the status to Cancelled.
The client gets the "Membership has been cancelled" email (in their account, they also see a longer explanation: "…because the payment kept failing.").
In the membership detail, you'll see that it's now in the Cancelled status; you'll find the exact cancellation date on the subscription in the Stripe Dashboard.
From this point on:
The client loses access to bookings through this membership.
If they want to continue, they have to buy the membership again.
An important detail: automatic cancellation doesn't respond to a specific number of Stripe's automatic attempts. The only thing that decides it is the 7-day grace period expiring. Even if Stripe runs out of attempts as early as day 3, the client still has their remaining 4 days to fix things manually (update the card, contact the bank, trigger the payment manually).
A special case — 3D Secure verification on automatic renewals too
In the EU, some banks require payer verification on certain automatic renewals as well — not just on the first purchase. This stems from the European rules for online payments and is outside the control of both Zenamu and Stripe — it depends on the client's specific bank.
When this happens:
The charge attempt is held in Stripe and waits for the client to act. The membership status in Zenamu stays Active — Zenamu doesn't switch to Waiting for payment during this hold (that status is reserved for an unfinished first purchase, not for extra verification on a renewal).
Zenamu sends the client a separate email — "Action required — verify payment for membership" — with a link to a Stripe-hosted page.
The client completes verification there (SMS, an in-app notification, biometrics, a password).
If verification succeeds, the renewal continues as normal.
If the client doesn't complete the verification, Stripe — following its usual retry schedule (typically 23–24 hours) — marks the attempt as failed and lets Zenamu know the payment failed. Only then does the standard grace period start (see above) and the membership moves to the Unpaid status.
In the admin area, you'll see a note about the pending verification in the client's history, but the main status stays Active the whole time Stripe is holding the payment for 3D Secure verification.
This situation is more common in countries with stricter payment rules (Germany, France, Italy) and with certain card types. If a client contacts the studio asking "Why is Stripe asking me to confirm my card again?", this is usually the case — explain that it's an automatic security step.
How many emails the client may receive
During a failed renewal, the client may receive these emails:
"Payment failed for membership" — Zenamu sends this email once per failed renewal, not after every individual charge attempt. If Stripe retries the payment automatically during the grace period, any further reminders may come from Stripe, depending on your account settings (see below) — but those aren't from Zenamu.
"Action required — verify payment for membership" — if the bank requires 3D Secure verification (described above).
"Membership has been cancelled" — after the grace period expires.
If the client gets more than one reminder about a failed payment, the extras are usually from Stripe (if you have them enabled in your Stripe account), not from Zenamu. Zenamu sends just one email per failed renewal.
Exception — the first purchase (waiting for 3D Secure verification). If a client doesn't complete 3D Secure verification on the first purchase, none of these emails go out. The membership stays in the Waiting for payment status and Zenamu just leaves the payment open (for up to 24 hours) for the Complete payment button. The client was never an active member, so there's no point sending "Payment failed for membership" — that email is meant for situations where a client already has a running subscription and is now at risk of losing access.
What won't show up in receipts and invoices
If a client uses a credit balance, a renewal may go through as a zero payment because the previous credit covered the whole amount. In that case:
Nothing is charged to the card.
Zenamu doesn't create an order for this renewal.
The client won't see any payment record for that period in their account — because, in accounting terms, no money actually moved.
The membership stays Active, and the credit is reduced by the price of the period.
This is intentional (no accounting document without any movement of money), but the client may be confused about why they don't see the usual regular payment. Explain that the credit covered the payment and that no document is issued until the credit runs out.
What if Stripe took the money but Zenamu cancelled?
In a rare case, this can happen:
Zenamu judged the grace period to have expired and marked the membership as Cancelled.
Meanwhile, in parallel, Stripe managed to charge the payment after all (for example, with an automatic attempt right before the cancellation).
In that case, Zenamu refunds the money automatically — as soon as the confirmation of a successful payment reaches a membership that Zenamu already records as Cancelled, Zenamu refuses to "revive" the membership and instead issues a refund through Stripe right away and cancels the subscription. Stripe returns the amount to the client's card. Zenamu doesn't send its own email about this automatic refund — whether the client gets a refund confirmation depends on the email settings in your Stripe account (Stripe can send refund receipts on its own).
If the refund fails for some reason (for example, an outage on Stripe's side), Zenamu notes the situation for later reconciliation and alerts the Zenamu team (an internal report). You may not see any warning in the Zenamu admin area — so if you suspect this case, check the status directly in the Stripe Dashboard. You can also issue the refund there manually: on the invoice, click Refund and choose the full amount.
Plan limits and recurring payments
For completeness: recurring payments (successful, failed, or refunded) don't count against any order limit — Zenamu has no monthly limit on the number of orders. So there's no need to worry that retried payment attempts or refunds will "use up" anything in your plan.
Common situations and how to handle them
A client writes to say their payment failed and wants me to fix it somehow
Open the client detail in the admin area.
Look in the Stripe Dashboard (at the relevant invoice or subscription) — you'll see the exact reason for the failure (the code the bank declined with).
Common reasons:
Insufficient funds. The client needs to top up or try a different card.
Card declined for other reasons. The client needs to contact their bank.
Card expired. The client needs to update it.
Wrong CVC. The client needs to try again with the correct code.
3D Secure verification required. The client needs to go through verification again in the Stripe customer portal.
Explain to the client what to do (usually: update the card through Manage payment method in their account — this redirects them to the Stripe customer portal). After they update the card, Stripe's next automatic attempt usually goes through.
If the client wants you to try the payment right away rather than wait for an automatic attempt, use Retry payment in the admin area (only the studio has this button).
Several clients write to say their payment didn't go through
If you're seeing a wave of failures, check:
Is there an outage on Stripe's side? You'll find the status at status.stripe.com.
Is there a problem with your Stripe account? (For example, it's restricted or needs more documents.) Check the Stripe Dashboard.
Is there a problem with the connection between Zenamu and Stripe? In Settings → Payments (the Payment methods section), you can try disconnecting and reconnecting Stripe — the connection may have dropped for some reason. Careful: while Stripe is disconnected, no renewals or payments are processed. So only do this briefly and away from renewal dates, to avoid blocking your clients' charges.
A client was cancelled automatically but wants to continue
The client has to buy the membership again. The membership in Stripe is cancelled and can't be "restored."
If the client recently had a credit balance (for example, from switching to a cheaper variant), they don't lose it — Stripe keeps it tied to the client and applies it to their next purchase.
A client claims Stripe charged them, but Zenamu shows it as cancelled
Open the client's profile in the Stripe Dashboard.
Find the latest invoice — is it in the paid status?
If it is, but Zenamu shows Cancelled, this is most likely the situation described in "What if Stripe took the money but Zenamu cancelled?" above.
Zenamu should refund the money automatically. If it didn't, issue the refund manually in the Stripe Dashboard: on the invoice, click Refund and choose the full amount.
A client lost access in the middle of sessions they had booked
If a membership expires (through automatic cancellation due to a failed payment), the client loses access. Existing bookings stay valid, though — Zenamu doesn't cancel them retroactively. The client still attends the sessions they signed up for before it expired.
If you want to be generous and accommodate the client, you can manually add make-up sessions or credits from the admin area.
Where Stripe's automatic attempts are fine-tuned
Stripe controls the timing and number of automatic attempts with its own logic (it weighs the history of similar cards and the reason for the failure). The exact timing isn't hard-set in Zenamu.
If you want to change this behaviour, you'll find the settings in: Stripe Dashboard → Settings → Subscriptions → Failed payments
There you can:
Set the number of attempts.
Change what happens after the attempts are exhausted. Exactly what happens (cancelling the subscription, leaving the invoice past due, marking it uncollectible, and so on) depends on your Stripe account settings.
Turn Stripe's reminder emails on or off (Zenamu sends its own emails — see above).
Important: No matter how many attempts Stripe makes, automatic cancellation in Zenamu is driven only by the 7-day grace period expiring. So Stripe's automatic-attempt settings affect the likelihood that the payment goes through in the meantime, not the timing of the cancellation.
Frequently asked questions
Can I set how long the grace period is? No — the grace period is a fixed 7 days across all of Zenamu and can't be changed at the level of an individual studio. (We're planning a configuration option for future versions.) Seven days is enough time for most clients to resolve a card problem, but not so long that you end up with a client who "owes" for months on a membership they're not using.
What if I don't want the client's payment to be retried automatically? This behaviour can't be turned off — automatic retries are standard for a recurring subscription. If the client wants to stop, the simplest option is to cancel the membership (the client can do it themselves from their account, or you can do it from the admin area).
A client claims they never got the failure email. What do I do? The "Payment failed for membership" email is sent by Zenamu (not Stripe), so Stripe's reminder-email settings don't affect it. The most common cause is spam or a typo in the client's email address — have the client check their spam folder and verify their email in their account. Note: Stripe may independently send its own reminders too (if you have them enabled in your Stripe account); you can see their status on the invoice in the Stripe Dashboard, but they're unrelated to the email from Zenamu.
Can I set a membership not to end automatically, but to wait for me to step in? No. Automatic cancellation after the grace period expires is the default safeguard — it protects against a buildup of "zombie" memberships, where the studio keeps seeing an active client who isn't actually paying.
Can I waive a client's payment and let them keep attending? If you want to let a client keep attending without paying, add credits or make-up sessions from the admin area. That lets them book independently of the membership.
Watch out for pausing: a pause can only be turned on for an active membership. A membership in the Unpaid status (where the payment has already failed) can't be paused — that's not the way to solve it. If you want to stop payments on a membership that's still Active, you can pause it (Pause membership in the admin area); but the client will then lose the ability to book, so top up their access to sessions with credits or make-up sessions anyway.
A client writes to say they started buying a membership, the bank asked for an SMS code, but nothing else is happening. Should I help them? They've probably started 3D Secure verification on the first purchase and didn't finish it (closed the browser tab, or the bank sent the SMS late). In the admin area, you'll see their membership in the Waiting for payment status. The client can click Complete payment from their own account — Stripe keeps the payment open for up to 24 hours. If that window has passed, the payment is no longer open and the client has to buy the membership again from the start — no money was charged, so there's nothing to refund.
Why didn't Zenamu send the client an email when the payment failed? It depends on whether it was a first purchase (unfinished 3D Secure verification) or a failed renewal on an already active membership. For a first purchase, Zenamu deliberately doesn't send an email — the client was never a member and isn't at risk of losing access. For a renewal, Zenamu always sends the "Payment failed for membership" email, once per failed renewal. If the client claims they didn't get it, the most likely culprit is spam or a mistyped email — have them check their spam folder and verify their email address in their account.
Related articles
