WHAT WAS DONE:
- Created stripe-integration.sql migration for eliminating Paymenter
- Adds stripe_products table (product catalog with recurring/one-time support)
- Adds webhook_events_processed table (idempotency tracking)
- Updates subscriptions table for lifetime tier support (Sovereign)
- Adds performance indexes for webhook lookups and grace period queries
- Includes constraint to ensure exactly one of subscription_id or payment_intent_id exists
WHY:
- Part of Gemini-approved architecture to eliminate Paymenter
- Supports both recurring subscriptions (tiers 1-9) and one-time payment (Sovereign tier 10)
- Ensures grace period logic never affects lifetime users
- Production-ready with full comments and validation
FILES CHANGED:
- services/arbiter-3.0/migrations/stripe-integration.sql (new, 127 lines)
CONTEXT:
- Gemini consultation verdict: Rip out Paymenter before first customer
- Phase 1 of 5 in Stripe direct integration
- Supports $499 Sovereign one-time payment with is_lifetime flag
Signed-off-by: Claude (Chronicler #57) <claude@firefrostgaming.com>