• Your Name's avatar
    Add subscription renewal processor · fa92a96b
    Your Name authored
    Implements automatic subscription renewal processing with:
    - RenewalProcessor class that finds and processes due subscriptions
    - Extends billing periods by 30 days (monthly) or 365 days (yearly)
    - Applies pending tier changes (downgrades) at renewal
    - Handles subscription cancellations (cancel_at_period_end flag)
    - Supports both fiat (card/PayPal) and crypto wallet payments
    - Graceful handling of payment failures
    - Comprehensive test coverage (8 tests, all passing)
    
    Files:
    - aisbf/payments/subscription/renewal.py: Core renewal processor
    - tests/payments/test_renewal.py: Complete test suite
    - aisbf/payments/subscription/__init__.py: Export RenewalProcessor
    fa92a96b
test_renewal.py 15.9 KB