Student flow: login → browse visible schools → enroll → Stripe Checkout (pays school’s connected account), full or weekly-installment. Includes a school-admin fee breakdown section for setup. Swagger · Admin onboarding test · Media test
Prerequisite: School admin must complete platform subscription + Stripe Connect
before the school appears here. Only isActive (visible) schools are listed.
Student payments go to the school admin’s connected Stripe account (not the platform).
Local API test pages:
FRONTEND_URL=http://localhost:3000/test +
STRIPE_CHECKOUT_SUCCESS_PATH=enrollments/payment/success.html
ngrok (tunnel to API :3000):
FRONTEND_URL=https://YOUR-SUBDOMAIN.ngrok-free.app/test +
same success/cancel paths. Open this page at
/test/stripe-enrollment-test.html on the same ngrok host.
Restart API after changing .env.development. Create a
new checkout session after restart (old sessions keep old redirect URLs).
Webhook: stripe listen --forward-to localhost:3000/api/v1/webhooks/stripe
Test card: 4242 4242 4242 4242 · any future expiry · any CVC
Separate session from the student above. Create a fee breakdown for the course picked above so students can choose Installment payment below. Installment count must not exceed the course's duration in weeks; amounts must sum to exactly the course's total fee.
Uses the course ID from the "Pick a course" section above.
Only populated once Week 1 has been paid under Installment payment above.