Merge pull request #2444 from BEDOLAGA-DEV/dev

Dev
This commit is contained in:
Egor
2026-01-28 11:59:11 +03:00
committed by GitHub
2 changed files with 35 additions and 0 deletions

View File

@@ -156,6 +156,7 @@ async def _get_available_payment_methods(
'wata': settings.is_wata_enabled(),
'freekassa': settings.is_freekassa_enabled(),
'cloudpayments': settings.is_cloudpayments_enabled(),
'kassa_ai': settings.is_kassa_ai_enabled(),
}
# Default options builder (for methods with sub-options)
@@ -700,6 +701,32 @@ async def create_topup(
detail='Failed to create FreeKassa payment',
)
elif request.payment_method == 'kassa_ai':
if not settings.is_kassa_ai_enabled():
raise HTTPException(
status_code=status.HTTP_400_BAD_REQUEST,
detail='Kassa AI payment method is unavailable',
)
payment_service = PaymentService()
result = await payment_service.create_kassa_ai_payment(
db=db,
user_id=user.id,
amount_kopeks=request.amount_kopeks,
description=settings.get_balance_payment_description(request.amount_kopeks),
email=getattr(user, 'email', None),
language=getattr(user, 'language', None) or settings.DEFAULT_LANGUAGE,
)
if result and result.get('payment_url'):
payment_url = result.get('payment_url')
payment_id = str(result.get('local_payment_id') or result.get('order_id') or 'pending')
else:
raise HTTPException(
status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
detail='Failed to create Kassa AI payment',
)
elif request.payment_method == 'tribute':
if not settings.TRIBUTE_ENABLED or not settings.TRIBUTE_DONATE_LINK:
raise HTTPException(

View File

@@ -109,6 +109,13 @@ def _get_method_defaults() -> dict:
{'id': 'sbp', 'name': 'СБП'},
],
},
'kassa_ai': {
'default_display_name': settings.get_kassa_ai_display_name(),
'is_configured': settings.is_kassa_ai_enabled(),
'default_min': settings.KASSA_AI_MIN_AMOUNT_KOPEKS,
'default_max': settings.KASSA_AI_MAX_AMOUNT_KOPEKS,
'available_sub_options': None,
},
}
@@ -146,6 +153,7 @@ DEFAULT_METHOD_ORDER = [
'wata',
'freekassa',
'cloudpayments',
'kassa_ai',
]