Learn how to create and manage subscription-based credit products that generate recurring revenue—configure unlimited (∞) credit subscriptions, understand renewal behavior, handle inactive subscriptions, transition athletes from packages to subscriptions, and optimize your subscription business model.
Step-by-step: Setting up recurring credit memberships.
1
Navigate to product creation
Dashboard → Payments → Products → Click + CreateYou’ll see product type options
2
Select subscription type
Choose: “Subscription”NOT: “One-Time” (that’s for credit packages)
Important: This choice defines whether billing is recurring. Cannot change after creation—if you pick wrong type, must delete and recreate product.
3
Configure basic product info
Required fields:Product name: Clear, descriptive name
✅ “Unlimited Monthly Training Membership”
✅ “3x/Week Youth Program Subscription”
❌ “Training” (too vague)
❌ “Option 1” (meaningless to athletes)
Price: Recurring amount (e.g., $400)Billing frequency: How often to charge
Monthly (most common)
Weekly (less common, for frequent trainers)
Yearly (annual pre-pay, large discount)
Custom (every 2 weeks, quarterly, etc.)
Description: Explain what subscription includes
Copy
Example: "Train unlimited times per month at our group classes. Includes access to all Rising Stars schedulers. Book up to 4 sessions per week. Cancel anytime with 30-day notice."
Pricing psychology: 399 feels significantly cheaper than 400. Use X97 or X99 pricing for better conversion.
4
Configure credit issuance
Scroll to Credits sectionDecision point: Unlimited (∞) OR finite credits per cycle?
Unlimited Credits (∞)
Finite Credits Per Cycle
Setting: Enable “Unlimited Credits” toggle or checkboxResult: Athlete gets ∞ credits each billing cycleUse when:
Offering “all-you-can-train” membership
Want maximum simplicity (no credit counting)
Trust athletes not to abuse (or have usage limits configured)
Example configuration:
Copy
Monthly Unlimited Membership - $400/monthCredits: Unlimited (∞)Redeemable schedulers: All group classes
Setting: Enter number (e.g., “12 credits”)Result: Athlete gets 12 fresh credits each billing cycleUse when:
Want defined usage expectations (12 = 3x/week)
More comfortable with finite limits
Easier to understand for athletes (“12 sessions/month”)
Example configuration:
Copy
Monthly 12-Credit Membership - $350/monthCredits: 12 per monthExpiration: Unused credits expire at renewalRedeemable schedulers: All sessions
Expiration option: Unused credits can either:
Expire (athlete loses them at renewal)
Carry over (athlete accumulates unused credits)
Most subscriptions use expire to prevent credit hoarding.
5
Set credit restrictions
Redeemable Schedulers section: Select which schedulers accept these creditsExample restriction strategy:
Copy
Basic Subscription ($250/month): ✓ Group Classes onlyStandard Subscription ($400/month): ✓ Group Classes ✓ Open Gym ✓ ClinicsPremium Subscription ($600/month): ✓ All of the above ✓ Semi-Private Sessions (normally $75 each)
Product tiering: Use scheduler restrictions to differentiate subscription levels (Basic < Standard < Premium)
Usage Limits section: Set daily/weekly/monthly booking capsFor unlimited (∞) subscriptions:
Recommended: Weekly limit (e.g., “4 bookings per week”)
Prevents abuse: Athlete can’t book 30 sessions in Week 1
Encourages consistency: Spreads usage across month
For finite credit subscriptions:
Often unnecessary (credit count is the limit)
Consider if: Enforcing program structure (e.g., max 2/week for 8-week program)
7
Set renewal and cancellation policy
Renewal settings:
Auto-renew: Enabled by default (this is how subscriptions work)
Trial period: Optional first-month discount or free trial
Renewal reminder: Auto-email 3 days before renewal (if available)
Cancellation policy:
Copy
Example policy:"Cancel anytime. Cancellations take effect at end of current billing period (you keep access until paid-for period ends). No refunds for partial months."
Important: Document policy in:
Product description
Website terms of service
Confirmation email after purchase
Athlete portal
Legal requirement: Clear cancellation terms required in most jurisdictions. Work with attorney if unsure.
8
Save and activate
Click Create SubscriptionVerification checklist:
✅ Product appears in Payments → Products list
✅ Product type shows “Subscription”
✅ Price displays as ”$/month” (or chosen frequency)
✅ Credit configuration correct (∞ or finite number)
✅ Redeemable schedulers listed
✅ Usage limits configured (if applicable)
Test:
Assign product to test athlete account
Process test payment via Stripe
Verify credits appear in athlete profile
Test booking with subscription credits
Verify Stripe shows active subscription
Success! Your subscription product is live and ready for athletes to purchase.
Example: Athlete subscribed Jan 15, monthly frequencyRenewal date: Feb 15 (one month later)What happens:
Stripe attempts to charge athlete’s saved payment method
If payment succeeds: Subscription stays active
If payment fails: Subscription becomes inactive (more on this below)
2
Credits reset (if payment succeeds)
For unlimited (∞) subscriptions:
Credit balance: Still shows ∞
Usage tracking: Resets to 0/∞ for all schedulers
For finite credit subscriptions:
Credit balance: Resets to original amount (e.g., 12)
Unused credits: Expire OR carry over (per configuration)
Usage limits: Reset to 0
Athlete sees: Fresh credits available, can book again
Seamless transition: Athletes typically don’t notice renewal if payment auto-succeeds. Credits just “keep working.”
3
Credit logs update
New entry in athlete’s credit logs:
Copy
Feb 15, 9:00 AM | +∞ Credits | Subscription Renewed - Monthly Unlimited Membership
Or for finite:
Copy
Feb 15, 9:00 AM | +12 Credits | Subscription Renewed - Monthly 12-Credit Membership
Purpose: Tracks renewal history, helps with dispute resolution
4
Stripe subscription status
In your Stripe dashboard:Status: “Active” Current period: Feb 15 - Mar 14 Next billing date: Mar 15 Total charged to date: UpdatedAthlete’s payment history: Shows successful renewal charge
After retries exhausted with no successful payment:Stripe status: Changes from “Active” to “Incomplete” or “Past Due”CoachIQ impact:
Subscription becomes inactive in CoachIQ
Credits become unusable (even if balance shows ∞ or number)
Athlete CANNOT book using these credits
Athlete CAN still log in, CAN still book using Master Credits or direct payment
4
Athlete sees error
When trying to book with subscription credits:Message: “Subscription inactive. Update payment method to continue.”Or similar error indicating payment issueSolution required: Athlete must update payment method in Athlete Portal or Stripe
Coach actions when payment fails:
Week 1: Personal outreach
Day 7-10 after failure: If still not resolved, send personal messageExample message:
Copy
"Hey [Name], I noticed your membership payment didn't go through this month. Just wanted to reach out personally—your subscription is currently on hold. You can update your payment method here: [link to Athlete Portal]Let me know if you need any help, or if you'd like to discuss your membership. I want to make sure you can keep training with us!"
Tone: Helpful, not accusatory (athletes appreciate personal touch)
Week 2: Offer alternative
Day 14-21 after failure: If still unresolved, offer optionsExample message:
Copy
"Hi [Name], I haven't heard back about your membership payment. I want to help you continue training! Here are some options:1. Update payment method: [link]2. Switch to pay-per-session temporarily (no commitment)3. Pause membership for 30 days (keeps your rate when you return)4. Or if you need to cancel, I understand—just let me knowWhat works best for you?"
Goal: Understand if this is:
Temporary issue (expired card) → Help resolve
Financial hardship → Offer payment plan or pause
Voluntary cancellation → Exit gracefully
Week 3: Final notice
Day 21-30 after failure: Last attempt before cancellationExample message:
Copy
"[Name], your membership has been on hold for 3 weeks due to payment issue. I'll need to cancel the subscription by [date] if we can't resolve this.I'd hate to see you go! If you want to continue, please update your payment method ASAP: [link]Otherwise, let's connect to discuss next steps."
After 30 days: Cancel subscription in Stripe (releases athlete from failed payment attempts)Document: Note in athlete profile why subscription ended (involuntary churn due to payment failure)
Or: Dispute charge with credit card company (worst case)
Effect:
Subscription status: “Active (cancels [date])” in Stripe
Credits: Remain usable until period ends
Access: Maintained through paid period
Refund: None (athlete received full month value)
Example:
Athlete subscribed Jan 15 (monthly)
Cancels Feb 3
Status: Active until Feb 14 (original renewal date)
Feb 15: Subscription becomes “Canceled,” credits disappear
Athlete experience: “Your cancellation will take effect on [date]. You have access until then.”Pros: Fair to athlete (gets full paid period), reduces refund disputes, clean accountingCons: Athlete has several days/weeks to change mind and reactivate (good or bad depending on perspective)
Best practice: End-of-period cancellation is industry standard and most fair to athletes.
Coach response to cancellation:
1
Acknowledge promptly
Send confirmation within 24 hours:
Copy
"Hi [Name], I've received your cancellation request. Your subscription will remain active through [end date], and you can continue training until then.I'm sorry to see you go! If you're open to it, I'd love to hear what led to this decision. Your feedback helps me improve.Thanks for training with me, and the door is always open if you want to return in the future!"
Tone: Gracious, non-defensive, door open for return
2
Request feedback (optional survey)
Option 1: Simple question
“What was the main reason for canceling?” (open-ended)
Option 2: Multiple choice
Financial reasons
Moving/relocating
Schedule doesn’t fit anymore
Not seeing results I wanted
Prefer different training style
Other (please specify)
Use feedback: Identify patterns, improve offerings
3
Offer win-back opportunity
If cancellation reason is resolvable:Financial: “Would a lower-tier membership work better for your budget?”Scheduling: “We just added morning sessions—would those fit better?”Results: “I’d love to discuss your goals—let’s optimize your training plan”Don’t pressure: One offer, then respect decision
4
Document and tag
In athlete profile:
Tag: “Former Subscriber”
Note: Cancellation date and reason
Flag: “Win-back candidate” (if reason was resolvable)
Use later: Targeted re-engagement campaigns (e.g., “We miss you!” email 3 months later)
This is intentional stacking, clearly communicated
What if athlete wants to downgrade subscription?
Scenario: Athlete on Premium (600/month) wants to switch to Basic (250/month)Process:
Athlete requests downgrade: Via message, email, or portal
Confirm timing:
Immediate: Lose premium benefits immediately, get partial refund (if you offer)
End of period: Keep premium through paid period, then downgrade (recommended)
Cancel current subscription: In Stripe, cancel Premium subscription
Enroll in new tier: Add Basic subscription to athlete profile
Process pricing difference (if mid-period):
Pro-rate: Refund unused portion of Premium, charge for Basic
Or: Wait until current Premium period ends, then start Basic (recommended)
Communication:
Copy
"I've switched you to the Basic Membership starting [date]. You'll be charged $250/month going forward (saves you $350/month!).Your access will change to Basic tier features as of [date].You can always upgrade back to Premium anytime!"
Make it easy: Frictionless downgrades = lower churn. Athlete who downgrades is still a paying subscriber (vs full cancellation).
Should I offer refunds on subscriptions?
Legal landscape: Varies by jurisdictionGeneral guidelines:Pro-rated refunds:
Not typically required if athlete has access through paid period
Example: Athlete pays $400 for February, cancels Feb 10, has access through Feb 28 = no refund owed
When refunds make sense:
Service issue (your fault): Full refund appropriate
Payment processing error: Issue refund + fix
Athlete charged accidentally (didn’t mean to subscribe): Refund within 24-48 hours
When refunds DON’T make sense:
Athlete simply changed mind after using service
“I didn’t train this month” (athlete’s choice, not your fault)
Buyer’s remorse after 7+ days
Your refund policy (example):
Copy
"Subscription refunds available within 48 hours of first charge if no credits used. After 48 hours or if credits used, no refunds—cancel anytime to stop future charges."
Document clearly: Refund policy must be visible at purchase, in terms of service, and in confirmation email.
Can I change subscription price for existing subscribers?
Short answer: Yes, but handle carefullyProcess:1. Grandfather vs Universal Change:
Grandfather: Keep existing subscribers at old price, new subscribers pay new price
Universal: All subscribers pay new price after X date
2. Communicate in advance (30-60 days notice):
Copy
"Heads up: Starting March 1, the Monthly Unlimited Membership will increase from $400 to $450/month due to rising costs.As a current member, you have 2 options:1. Lock in current $400 rate by switching to annual pre-pay ($4,800/year)2. Continue monthly at new $450 rate starting March 1You're a valued member—I wanted to give you advance notice and options. Questions? Reply anytime!"
3. Update Stripe:
Stripe → Products → [Subscription] → Edit pricing
Set effective date for new price
Existing subscriptions: Update via Stripe dashboard
Best practice: Grandfather existing subscribers for 6-12 months (goodwill gesture), then migrate all to new price
You now know how to: Create subscription products, configure unlimited (∞) credits, set up recurring billing, understand renewal behavior, manage subscription lifecycles, transition athletes from packages to subscriptions, optimize subscription revenue, and build a predictable recurring revenue business model.
Need help designing your subscription model? Our support team can review your business goals and help structure the right subscription offerings. Contact Support