from typing import Protocol class PspAdapter(Protocol): async def initiate_payment(self, request: dict) -> dict: ... async def verify_signature(self, payload: dict) -> bool: ... async def verify_payment(self, payload: dict) -> dict: ... class CreditProviderAdapter(Protocol): async def authorize_financing(self, payload: dict) -> dict: ...