Commit fa92a96b authored by Your Name's avatar Your Name

Add subscription renewal processor

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
parent f0143b4c
......@@ -2,5 +2,6 @@
Subscription management module
"""
from aisbf.payments.subscription.manager import SubscriptionManager
from aisbf.payments.subscription.renewal import RenewalProcessor
__all__ = ['SubscriptionManager']
__all__ = ['SubscriptionManager', 'RenewalProcessor']
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment