feat: enable payment provider for admin only

This commit is contained in:
3252a8
2026-05-25 11:19:54 +03:00
parent d30b069876
commit de1763cfe1
24 changed files with 509 additions and 39 deletions
+10 -1
View File
@@ -26,6 +26,7 @@ from .base import (
ServiceFactoryContext,
WebAppPaymentContext,
provider_env_file,
provider_runtime_enabled,
)
from .shared import (
PaymentSuccessRequest,
@@ -119,7 +120,7 @@ class CryptoPayService:
@property
def configured(self) -> bool:
return bool(self.config.ENABLED and self.config.TOKEN)
return bool(provider_runtime_enabled(self.config) and self.config.TOKEN)
@property
def client(self):
@@ -349,6 +350,14 @@ async def pay_crypto_callback_handler(
await notify_callback_parse_error(callback, translator)
return
if not SPEC.is_available_to_user(
settings,
user_id=callback.from_user.id,
require_configured=False,
):
await notify_service_unavailable(callback, translator)
return
if not cryptopay_service or not getattr(cryptopay_service, "configured", False):
await notify_service_unavailable(callback, translator)
return