Coachful
CoachfulHelp

Troubleshooting failed Stripe payments

By Coachful10 min readUpdated Apr 16, 2026

Stripe payment failing on Coachful? This guide covers every common decline code, Stripe Connect setup issues, coupon problems, and client-side fixes — with step-by-step instructions.

What's covered
  • Why is my Stripe payment failing on Coachful?
  • TL;DR — Quick answers
  • Step 1 — Identify the exact failure type
  • Common Stripe decline codes and how to fix them
  • Stripe Connect setup issues (coach-side problems)
  • Payment plan and coupon failures

Why is my Stripe payment failing on Coachful?

A failed Stripe payment is one of the most frustrating moments in a coaching business — whether you're a coach watching a new client's enrollment fall through, or a client who just wants to get started and can't. The good news: most Stripe payment failures follow predictable patterns, and almost every one has a clear fix. This guide walks you through the most common reasons Stripe payments fail on Coachful, how to diagnose the problem fast, and exactly what to do next.

TL;DR — Quick answers

  • Card declined? The client should contact their bank or try a different card. Coachful surfaces the exact Stripe decline code in the payment record.
  • Stripe account not connected? Go to Coach → Settings → Billing → Connect Stripe and complete the Stripe Connect onboarding flow.
  • Payment shows "pending" forever? This usually resolves within 24 hours; if not, check your Stripe Dashboard for a dispute or bank hold.
  • Client never got a receipt? Stripe sends receipts automatically — check spam folders and verify the email address on the offer.
  • Coupon or payment plan not applying? Make sure the offer is published and the coupon is active with remaining redemptions.

Step 1 — Identify the exact failure type

Before you start troubleshooting, find the failure message. Coachful logs every payment attempt and surfaces the Stripe decline reason directly in your dashboard. Here's how to find it:

  1. Sign in to your Coachful workspace at app.coachful.co/sign-in.
  2. Navigate to Coach → Billing → Transactions.
  3. Find the failed transaction and click it to expand the detail panel.
  4. Look for the Decline Code or Failure Reason field — this maps directly to Stripe's error vocabulary.
  5. Cross-reference the code in the Stripe decline codes reference for a plain-English explanation.

With that code in hand, every section below becomes a targeted checklist rather than guesswork.

Common Stripe decline codes and how to fix them

insufficient_funds

This is the most common decline reason. The client's card simply doesn't have enough available credit or balance. The fix is always on the client's side: they need to use a different payment method, top up their account, or contact their bank to free up a hold. As a coach, you can resend the payment link from Coach → Clients → [Client Name] → Resend Payment Link once they're ready to retry.

card_declined (generic)

A generic card_declined code means Stripe received a decline from the issuing bank but wasn't given a specific reason. This often happens with prepaid cards, virtual cards, or cards flagged for unusual activity. Ask your client to call the number on the back of their card and ask their bank to authorize the charge, then retry. Alternatively, they can try a completely different card.

incorrect_cvc / incorrect_number / expired_card

These are data-entry errors. The client entered the wrong CVC, a typo in the card number, or the card has lapsed. These are simple fixes — the client just needs to re-enter their details carefully. Coachful's checkout form validates card numbers in real time, so a typo should be caught before submission in most cases.

do_not_honor

This is a blanket refusal from the issuing bank — often triggered by international transactions, a new card that hasn't been activated, or a fraud filter. The client needs to call their bank directly. No amount of retrying on your end will resolve this until the bank lifts the flag.

fraudulent / stolen_card

If Stripe flags a payment as fraudulent or stolen_card, do not attempt to override or retry. Stripe's Radar fraud detection has flagged this transaction for a reason. Contact Stripe Support if you believe the flag is in error and you have a legitimate relationship with the client.

processing_error

A processing_error is a temporary infrastructure hiccup between Stripe and the card network. It's rare and usually resolves itself within minutes. Simply retry the payment. If it persists beyond two or three attempts, check the Stripe Status Page for any active incidents.

Pro tip: Coachful's billing is built on Stripe Connect, which means your clients pay directly through your connected Stripe account — no middleman, no extra delay. If your Stripe account is in good standing and charges are still failing, the issue is almost always card-side, not platform-side.

Stripe Connect setup issues (coach-side problems)

If every payment attempt is failing — not just one client's — the problem is likely with your Stripe Connect configuration rather than any individual card. Here's a checklist:

Your Stripe account is not fully onboarded

Stripe requires coaches to complete identity verification and provide banking details before they can accept live payments. If you skipped any step, Stripe puts your account in a restricted state and declines charges silently. To check:

  1. Go to Coach → Settings → Billing.
  2. If you see a yellow "Action required" banner, click it — this takes you directly into the Stripe Connect onboarding flow.
  3. Complete any outstanding verification steps (government ID, business details, bank account).
  4. Return to Coachful and run a test transaction using a Stripe test card in sandbox mode.

Your Stripe account is in a restricted country or category

Stripe Connect is available in most countries but not all. If you recently relocated or changed your business address to a country not supported by Stripe, charges will fail. Check Stripe's global availability page and contact the Coachful support team if you need to update your account region.

Payouts are paused but charges still fail

Paused payouts don't stop charges from succeeding — but a fully restricted account does. If Stripe sent you an email about a compliance review or added risk flag, your account may be in a state where it cannot process charges at all. In this case, you must resolve the Stripe-side issue first before any client payments will go through.

Not yet on Coachful? If you're evaluating coaching platforms, Coachful's built-in Stripe Connect billing means you get paid directly — no platform taking a cut of your revenue. Start your free trial and connect Stripe in minutes.

Payment plan and coupon failures

Coachful supports flexible billing: one-time payments, recurring subscriptions, multi-tier offers, payment plans, and coupons. Each has its own failure mode.

Payment plan installment declined

When a client enrolls on a payment plan, Stripe schedules future charges automatically. If a subsequent installment fails (e.g., the card expired between month 1 and month 2), Coachful sends the client an automatic dunning email with a link to update their payment method. As a coach, you'll also see a Payment failed notification in your dashboard. You can manually resend the update-payment link from Coach → Clients → [Client Name] → Billing.

Coupon not applying at checkout

If a client reports the coupon isn't working, check three things:

  • Is the coupon active? Go to Coach → Offers → Coupons and confirm the status is "Active."
  • Has the redemption limit been reached? If you set a maximum number of uses, the coupon stops working once that number is hit. Increase the limit or create a new code.
  • Is the coupon scoped to the right offer? Some coupons are offer-specific. Make sure the client is checking out on the correct offer page.

Offer not published

A common mistake: the offer is in "Draft" mode, which means the checkout page exists but Stripe will refuse to create a payment intent for it. Go to Coach → Offers → [Offer Name] and confirm the status is Published before sharing the link.

Client-side troubleshooting steps (share this with your clients)

Sometimes the fastest fix is empowering your client to self-serve. Here's a short checklist you can paste into a message:

  1. Double-check your card number, expiry date, and CVC — small typos cause most "card declined" errors.
  2. Make sure your billing address matches what your bank has on file.
  3. If you're outside the US, ask your bank to enable international transactions.
  4. Try a different browser or disable browser extensions — some ad blockers interfere with Stripe's payment iframe.
  5. Try a different card or a PayPal-linked card if available.
  6. Check with your bank that there are no spending limits or travel blocks active on your account.

Troubleshooting checklist for coaches

Mistake 1 — Retrying the same card repeatedly

Stripe's fraud systems treat repeated failed attempts as a signal of suspicious activity and may rate-limit or block the card further. If a card fails twice, stop retrying and switch to a different payment method or contact the bank first.

Mistake 2 — Confusing "pending" with "failed"

A payment in "pending" status in Coachful is not a failure — it means Stripe is waiting on bank confirmation (common with ACH/bank debit payments, which can take 3–5 business days). Only act if the status transitions explicitly to "Failed" or "Declined."

Mistake 3 — Not checking Stripe Dashboard independently

Coachful surfaces the most important payment data, but the Stripe Dashboard gives you deeper granularity — raw event logs, webhook logs, and dispute timelines. If you can't find an answer in Coachful, log in to dashboard.stripe.com and search by the client's email or the charge ID shown in Coachful.

Mistake 4 — Forgetting to update the webhook endpoint

If you recently reconnected your Stripe account or changed environments (test → live), the Stripe webhook endpoint may need to be refreshed. Contact the Coachful support team via the in-app chat — this is a backend fix and takes less than 5 minutes.

Mistake 5 — Using test-mode keys in a live environment

If you're seeing payments that look successful but no money is moving, double-check whether your Stripe account is still in test mode. In your Stripe Dashboard, the toggle in the top-right corner should read Live mode. Coachful's settings page will also display a warning if it detects test-mode credentials connected to a live workspace.

When to contact support

Reach out to the Coachful support team (via the chat bubble inside your dashboard, or at help.coachful.co) if:

  • All payments are failing and your Stripe account appears fully verified.
  • A payment shows "succeeded" in Stripe but "failed" in Coachful (webhook sync issue).
  • A client was charged but did not get access to the program or squad.
  • You need to issue a refund but the refund button is greyed out.
  • You're receiving fraud disputes you believe are illegitimate.

When you contact support, include the Coachful transaction ID and the Stripe charge ID (format: ch_xxxxxxxxxxxxxxxx) — this cuts resolution time significantly.

Ready to get your billing running smoothly?

Most Stripe payment failures on Coachful resolve in minutes once you know which decline code you're dealing with. The platform surfaces all the critical information you need — decline codes, billing history, client payment links — so you spend less time chasing payments and more time coaching.

If you haven't connected Stripe yet, or you're considering switching to a platform where billing is built in rather than bolted on, start your free Coachful trial and have your first offer live in under an hour. Already a member? Sign in to your workspace and head to Coach → Billing to review any outstanding payment issues right now. For more billing guides, browse the full Coachful help center.

Frequently asked questions

Why is Stripe declining my client's card on Coachful?
The most common reasons are insufficient funds, an expired card, a mistyped CVC or card number, or the client's bank blocking the transaction. Go to Coach → Billing → Transactions in Coachful to find the exact Stripe decline code, then share the relevant fix with your client.
How do I connect my Stripe account to Coachful?
Go to Coach → Settings → Billing and click 'Connect Stripe.' You'll be taken through Stripe Connect onboarding where you'll verify your identity and add your bank account. Charges won't process until onboarding is fully complete.
A payment shows 'succeeded' in Stripe but 'failed' in Coachful — what do I do?
This is usually a webhook sync issue where Stripe's confirmation event didn't reach Coachful. Contact Coachful support via the in-app chat and provide the Stripe charge ID (format: ch_xxxxxxxx) so the team can manually reconcile the transaction.
Can I retry a failed payment on Coachful?
Yes — go to Coach → Clients → [Client Name] → Billing and use the 'Resend Payment Link' option to send the client a fresh checkout link. Avoid retrying the same declined card more than twice, as repeated failures can trigger additional fraud flags on Stripe's end.
Why isn't my Coachful coupon code working at checkout?
Check three things: the coupon status is 'Active' in Coach → Offers → Coupons, the redemption limit hasn't been reached, and the coupon is scoped to the correct offer. Also confirm the offer itself is Published, not in Draft mode.
What happens when a payment plan installment fails on Coachful?
Coachful automatically sends the client a dunning email with a link to update their payment method. As the coach, you'll receive a 'Payment failed' dashboard notification. You can also manually send an update-payment link from the client's billing section in your dashboard.
Does Coachful charge a transaction fee on top of Stripe's fees?
Coachful uses Stripe Connect so coaches are paid directly into their own Stripe account. Coachful does not take an additional percentage cut of transactions — you only pay Stripe's standard processing fees, which vary by country and card type.
Was this article helpful?