tractatus/docs
TheFlow 3581575b1f feat: implement Koha donation system backend (Phase 3)
Backend API complete for NZD donation processing via Stripe.

**New Backend Components:**

Database Model:
- src/models/Donation.model.js - Donation schema with privacy-first design
  - Anonymous donations by default, opt-in public acknowledgement
  - Monthly recurring and one-time donation support
  - Stripe integration (customer, subscription, payment tracking)
  - Public transparency metrics aggregation
  - Admin statistics and reporting

Service Layer:
- src/services/koha.service.js - Stripe integration service
  - Checkout session creation (monthly + one-time)
  - Webhook event processing (8 event types)
  - Subscription management (cancel, update)
  - Receipt email generation (placeholder)
  - Transparency metrics calculation
  - Based on passport-consolidated StripeService pattern

Controller:
- src/controllers/koha.controller.js - HTTP request handlers
  - POST /api/koha/checkout - Create donation checkout
  - POST /api/koha/webhook - Stripe webhook receiver
  - GET /api/koha/transparency - Public metrics
  - POST /api/koha/cancel - Cancel recurring donation
  - GET /api/koha/verify/:sessionId - Verify payment status
  - GET /api/koha/statistics - Admin statistics

Routes:
- src/routes/koha.routes.js - API endpoint definitions
- src/routes/index.js - Koha routes registered

**Infrastructure:**

Server Configuration:
- src/server.js - Raw body parsing for Stripe webhooks
  - Required for webhook signature verification
  - Route-specific middleware for /api/koha/webhook

Environment Variables:
- .env.example - Koha/Stripe configuration template
  - Stripe API keys (reuses passport-consolidated account)
  - Price IDs for NZD monthly tiers ($5, $15, $50)
  - Webhook secret for signature verification
  - Frontend URL for payment redirects

**Documentation:**

- docs/KOHA_STRIPE_SETUP.md - Complete setup guide
  - Step-by-step Stripe Dashboard configuration
  - Product and price creation instructions
  - Webhook endpoint setup
  - Testing procedures with test cards
  - Security and compliance notes
  - Production deployment checklist

**Key Features:**

 Privacy-first design (anonymous by default)
 NZD currency support (New Zealand Dollars)
 Monthly recurring subscriptions ($5, $15, $50 NZD)
 One-time custom donations
 Public transparency dashboard metrics
 Stripe webhook signature verification
 Subscription cancellation support
 Receipt tracking (email generation ready)
 Admin statistics and reporting

**Architecture:**

- Reuses existing Stripe account from passport-consolidated
- Separate webhook endpoint (/api/koha/webhook vs /api/stripe/webhook)
- Separate MongoDB collection (koha_donations)
- Compatible with existing infrastructure

**Next Steps:**

- Create Stripe products in Dashboard (use setup guide)
- Build donation form frontend UI
- Create transparency dashboard page
- Implement receipt email service
- Test end-to-end with Stripe test cards
- Deploy to production

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-08 13:35:40 +13:00
..
governance feat: add governance document and core utilities 2025-10-06 23:34:40 +13:00
markdown feat: complete Phase 2 - accessibility, performance, mobile polish 2025-10-08 13:29:26 +13:00
BLOG-POST-OUTLINES.md feat: fix documentation system - cards, PDFs, TOC, and navigation 2025-10-07 22:51:55 +13:00
GLOSSARY.md docs: add comprehensive Glossary of Terms for Tractatus framework 2025-10-07 11:11:56 +13:00
IMPLEMENTATION_PROGRESS_2025-10-07.md docs: Phase 2 kickoff materials & domain migration to agenticgovernance.digital 2025-10-07 13:17:42 +13:00
KOHA_STRIPE_SETUP.md feat: implement Koha donation system backend (Phase 3) 2025-10-08 13:35:40 +13:00
PHASE-2-COST-ESTIMATES.md docs: Phase 2 kickoff materials & domain migration to agenticgovernance.digital 2025-10-07 13:17:42 +13:00
PHASE-2-DEPLOYMENT-GUIDE.md docs: create comprehensive Phase 2 deployment guide with granular tasks 2025-10-07 13:51:45 +13:00
PHASE-2-EMAIL-TEMPLATES.md docs: Phase 2 kickoff materials & domain migration to agenticgovernance.digital 2025-10-07 13:17:42 +13:00
PHASE-2-INFRASTRUCTURE-PLAN.md docs: Phase 2 kickoff materials & domain migration to agenticgovernance.digital 2025-10-07 13:17:42 +13:00
PHASE-2-KICKOFF-CHECKLIST.md docs: Phase 2 kickoff materials & domain migration to agenticgovernance.digital 2025-10-07 13:17:42 +13:00
PHASE-2-PREPARATION-ADVISORY.md docs: Phase 2 kickoff materials & domain migration to agenticgovernance.digital 2025-10-07 13:17:42 +13:00
PHASE-2-PRESENTATION.md docs: Phase 2 kickoff materials & domain migration to agenticgovernance.digital 2025-10-07 13:17:42 +13:00
PHASE-2-PROGRESS-WEEK-5.md feat: fix documentation system - cards, PDFs, TOC, and navigation 2025-10-07 22:51:55 +13:00
PHASE-2-ROADMAP.md docs: Phase 2 kickoff materials & domain migration to agenticgovernance.digital 2025-10-07 13:17:42 +13:00
SESSION-2025-10-07-AI-FEATURES.md feat: fix documentation system - cards, PDFs, TOC, and navigation 2025-10-07 22:51:55 +13:00
session-handoff-2025-10-07-part2.md docs: add comprehensive session handoff for 2025-10-07 Part 2 2025-10-07 08:44:13 +13:00
session-handoff-2025-10-07-part3-crossreference.md fix: CrossReferenceValidator 100% - prohibition & preference detection 2025-10-07 10:03:56 +13:00
session-handoff-2025-10-07-part4-governance-active.md docs: session handoff - governance active & 100% coverage achieved 2025-10-07 11:26:12 +13:00
session-handoff-2025-10-07-tractatus-activation.md feat: ACTIVATE Tractatus Governance Framework 🤖 2025-10-07 09:22:05 +13:00
session-handoff-2025-10-07.md fix: resolve CrossReferenceValidator conflict detection and enhance parameter extraction 2025-10-07 01:46:04 +13:00
TESTING-CHECKLIST.md feat: fix documentation system - cards, PDFs, TOC, and navigation 2025-10-07 22:51:55 +13:00
TESTING-RESULTS-2025-10-07.md feat: fix documentation system - cards, PDFs, TOC, and navigation 2025-10-07 22:51:55 +13:00