Add subcription feature
This commit is contained in:
@@ -36,6 +36,8 @@ class Subscription:
|
||||
current_period_start: datetime
|
||||
current_period_end: datetime
|
||||
created_at: datetime
|
||||
billing_cycle_anchor: Optional[datetime] = None
|
||||
cancel_at_period_end: Optional[bool] = None
|
||||
|
||||
|
||||
@dataclass
|
||||
@@ -81,9 +83,17 @@ class PaymentProvider(abc.ABC):
|
||||
pass
|
||||
|
||||
@abc.abstractmethod
|
||||
async def cancel_subscription(self, subscription_id: str) -> Subscription:
|
||||
async def cancel_subscription(
|
||||
self,
|
||||
subscription_id: str,
|
||||
cancel_at_period_end: bool = True
|
||||
) -> Subscription:
|
||||
"""
|
||||
Cancel a subscription
|
||||
|
||||
Args:
|
||||
subscription_id: Subscription ID to cancel
|
||||
cancel_at_period_end: If True, cancel at end of billing period. Default True.
|
||||
"""
|
||||
pass
|
||||
|
||||
|
||||
Reference in New Issue
Block a user