Forums Feature Requests Thread

[New] Monetization: No coupon/promo code management surface for gate, courses, boost, or credits

Patrick Bass · Jun 6 · 12 · 1 Locked
[High Priority] [New Feature] [Deployed to Production]
🚀 OP Jun 6, 2026 7:06pm

Area: Monetization (audit p10) · Surface: /admin/gate, /admin/courses, checkout flows · Dimension: competitor-gap · Severity: major

Teachable/Thinkific/LearnWorlds and every community platform let creators run launch coupons, time-boxed discounts, and per-cohort promo codes — the core lever for launches, Black Friday, and partner deals. mobieusGate tier creation and the tenant course checkout have no coupon concept, and even where Stripe promotion codes are technically allowed (Mobieus-owned products) there is no place for an operator to mint or track them. A tenant can't run a 'LAUNCH50' discount on their own course or membership.

Evidence

MobieusStripe.php:110 sets `'allow_promotion_codes' => 'true'` on Mobieus-owned checkouts (boost/verify/credits), but there is no admin UI to create/manage those codes, and the tenant-owned course checkout (StripeCheckout::buildSessionPayload via CourseCatalogController.php:149-160 and startCheckout:213-224) never sets allow_promotion_codes at all. grep for coupon|promo_code|promotion_code|discount across src/Controllers/, GateStripeClient.php returns nothing except that single MobieusStripe flag.

Suggested fix. Add a coupon manager (percent/fixed, expiry, max redemptions, applies-to scope) backed by Stripe coupons/promotion codes; set allow_promotion_codes on the course checkout payload; surface redemption counts in the gate/course dashboards.

Filed by the automated tenant-app audit and adversarially evidence-verified. Status: verified. Open — not yet actioned.


Patrick Bass
@mobieus

🚀 Jun 7, 2026 12:18pm

Shipped and deployed to production. Commit fddecc6472.

Coupon engine foundation: coupons table (percent/fixed, surface, max_uses, expiry) + AdminCouponController CRUD at /admin/coupons.

Closed as: deployed.


Patrick Bass
@mobieus

Log in or register to reply to this thread.