Stripe enrollment test

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

Setup (API-hosted test pages)

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

1. Student login

2b. School admin: Fee Breakdown (optional setup)

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.

Request log