Update README and group-classes doc to reflect shipped Stripe payments #74

Merged
thatguygriff merged 1 commits from docs/readme-payments-status into main 2026-07-18 21:08:07 +00:00
2 changed files with 9 additions and 11 deletions
Showing only changes of commit da9a449d55 - Show all commits
+2 -6
View File
@@ -2,7 +2,7 @@
A WordPress plugin for instructor/student lesson scheduling — private lessons and
group classes — with offerings, intake questions, versioned policies, account
registration, and (coming) online payments.
registration, and online payments.
**Version:** 1.0.0-rc.1 · **Requires:** WordPress 6.0+, PHP 8.1+ · **License:** GPL-2.0-or-later
@@ -35,13 +35,9 @@ model, REST API, classes, and tests. For contributor/architecture guidance see
| Lesson booking (offering → questions → policies) | [lesson-booking.md](docs/features/lesson-booking.md) | ✅ Implemented |
| Group classes (capacity-enforced enrolment) | [group-classes.md](docs/features/group-classes.md) | ✅ Implemented |
| Student administration (studio-admin view) | [student-administration.md](docs/features/student-administration.md) | ✅ Implemented |
| Payments (e-transfer/comp + receipts + HST; Stripe card charge pending) | [payments.md](docs/features/payments.md) | 🟡 Partial |
| Payments (Stripe card charge + e-transfer/comp + receipts + HST) | [payments.md](docs/features/payments.md) | ✅ Implemented |
| Payment reporting (monthly per-instructor + HST + CSV) | [payment-reporting.md](docs/features/payment-reporting.md) | ✅ Implemented |
> Payments are deliberately deferred to the end: booking and enrolment ship with a
> clean seam (a lesson lands `pending`, an enrolment `active`, with `payment_id`
> null) into which the pay→confirm + receipt step plugs later.
## Shortcodes
| Shortcode | Purpose |
+7 -5
View File
@@ -65,11 +65,13 @@ instructor's group classes if the caller has `view_own_lessons` on those offerin
- Frontend: `Unsupervised\Schedular\GroupClass\GroupClassPage` (`[us_group_classes]` shortcode; `offering="…"` restricts it to a single class for embedding on a dedicated page — the block equivalent is the `offeringId` attribute)
- Reuses `Registration\RegistrationGate` (intake answers + booking-scoped policy acceptance, type `enrollment`)
> **Payment seam:** payment is deferred to #7. An enrolment is created with
> `status = active` and `payment_id = null`; the pay→confirm + receipt step plugs
> in later. Instructor-specific enrolment views (the spec's "under My Lessons")
> are a follow-up — this iteration ships the studio-admin **Group Classes** page
> (`view_all_lessons`) plus per-student/per-instructor REST queries.
> **Payment:** a priced enrolment creates a payment via `Payment\PaymentService`
> (`registration_type = enrollment`) and links it as `payment_id`; unpriced
> enrolments return `payment: null` and skip the payment step. See `payments.md`
> for the card/e-transfer/comp flows. Instructor-specific enrolment views (the
> spec's "under My Lessons") are a follow-up (#71) — this iteration ships the
> studio-admin **Group Classes** page (`view_all_lessons`) plus
> per-student/per-instructor REST queries.
## Tests
- `tests/Unit/GroupClass/EnrollmentTest.php`