# Base class for all pay providers

class Invoice:
    def __init__(self, invoice_id: str, amount: float, url: str):
        self.invoice_id = invoice_id
        self.amount = amount
        self.url = url

class BasePayProvider:
    description = ""
    def __init__(self, bot_username: str):
        self.name = "Pay Provider"
        self.bot_username = bot_username
        self.api_url = ""
        self.token = ""
        self.callback_data_prefix = ""
        self.notion = ""
        self.description = ""
        self.min_amount = 0
        
    async def is_available(self) -> bool:
        return False
    
    async def create_invoice(self, amount: float, payment_id: str, description: str) -> Invoice:
        return Invoice(payment_id, amount, "")
    
    async def check_invoice(self, invoice_id: int, payment_id: int) -> bool:
        return False
