![]() Server : Apache/2 System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64 User : gositeme ( 1004) PHP Version : 8.2.29 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/gositeme/domains/soundstudiopro.com/private_html/ |
# Implementation Plan: $5/month Essential Subscription ## 5 Tracks Per Month Package ### Summary **Status**: ✅ **SAFE TO IMPLEMENT** - Low risk, additive changes only **Package Name**: "Essential" (past basic, before Starter) **Price**: $5/month recurring **Features**: - 5 tracks per month - Monthly reset - Recurring billing via Stripe ### Implementation Checklist #### Phase 1: Database Setup ✅ SAFE - [ ] Create `user_subscriptions` table - [ ] Create `monthly_track_usage` table - [ ] Modify `users.plan` ENUM to include 'essential' - [ ] Add indexes for performance #### Phase 2: Stripe Configuration ⚠️ REQUIRES STRIPE DASHBOARD - [ ] Create Product: "Essential Plan" in Stripe - [ ] Create Price: $5/month recurring - [ ] Get `price_id` (starts with `price_`) - [ ] Configure webhook events (already set up) #### Phase 3: Code Implementation ✅ SAFE - [ ] Create subscription signup page - [ ] Add monthly track limit check to `create_music.php` - [ ] Implement subscription webhook handlers - [ ] Add subscription management UI - [ ] Create monthly reset cron job #### Phase 4: Testing ✅ SAFE - [ ] Test subscription signup - [ ] Test track limit enforcement - [ ] Test monthly reset - [ ] Test cancellation ### Files That Need Changes 1. **Database**: New tables + ENUM modification 2. **create_music.php**: Add monthly limit check 3. **webhooks/stripe.php**: Implement subscription handlers 4. **New files**: - `subscribe_essential.php` - Signup page - `manage_subscription.php` - Management UI - `cron/reset_monthly_limits.php` - Monthly reset ### Risk Assessment | Component | Risk Level | Notes | |-----------|-----------|-------| | Database Changes | 🟢 LOW | Additive, won't break existing | | Track Limit Check | 🟢 LOW | Only affects new subscription users | | Stripe Integration | 🟡 MEDIUM | Requires Stripe Dashboard setup | | Webhook Handlers | 🟢 LOW | Already exist, just need implementation | | Monthly Reset | 🟢 LOW | New cron job, isolated | ### Compatibility ✅ **Credit system remains intact** - Existing users unaffected ✅ **One-time purchases still work** - No changes to credit packages ✅ **Free plan unchanged** - Still works as before ✅ **Can coexist** - Users can have subscription OR credits ### Next Steps 1. Review this plan 2. Approve database changes 3. Set up Stripe product/price 4. Implement code changes 5. Test thoroughly 6. Deploy