mirror of
https://github.com/myronblair/tomsjavajive
synced 2026-06-30 09:40:24 -05:00
f89362528a
- LoyaltyProgram now loads tiers from loyalty_tiers DB table in constructor with fallback to hardcoded defaults if table is empty - awardPoints() accepts order_id param with duplicate-prevention check so points cannot be double-awarded for the same order - Inserts balance_after into loyalty_transactions for accurate history - payment-status.php: award points after Stripe checkout session or PaymentIntent confirmed as paid - create-checkout-session.php: award points in demo mode payment path Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>