Source code for djpaystack.api.subscriptions

from typing import Dict, Any, Optional
from .base import BaseAPI


[docs] class SubscriptionAPI(BaseAPI): """Subscriptions API"""
[docs] def create(self, customer: str, plan: str, authorization: Optional[str] = None, start_date: Optional[str] = None) -> Dict[str, Any]: """Create subscription""" data = self._build_query_params( customer=customer, plan=plan, authorization=authorization, start_date=start_date ) return self._post('subscription', data=data)
[docs] def list(self, per_page: int = 50, page: Optional[int] = None, customer: Optional[int] = None, plan: Optional[int] = None) -> Dict[str, Any]: """List subscriptions""" params = self._build_query_params(customer=customer, plan=plan) return self._paginate('subscription', params=params, per_page=per_page, page=page)
[docs] def fetch(self, id_or_code: str) -> Dict[str, Any]: """Fetch subscription""" return self._get(f'subscription/{id_or_code}')
[docs] def enable(self, code: str, token: str) -> Dict[str, Any]: """Enable subscription""" data = {'code': code, 'token': token} return self._post('subscription/enable', data=data)
[docs] def disable(self, code: str, token: str) -> Dict[str, Any]: """Disable subscription""" data = {'code': code, 'token': token} return self._post('subscription/disable', data=data)