From 0d84e0ba8f435fd3128d4b5a1b6eb688cd306df2 Mon Sep 17 00:00:00 2001 From: Egor Date: Mon, 26 Jan 2026 19:03:16 +0300 Subject: [PATCH] Add files via upload --- app/services/payment/stars.py | 16 ++++++++++++++++ app/services/payment/yookassa.py | 16 ++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/app/services/payment/stars.py b/app/services/payment/stars.py index 5dd89c8c..e68e02c5 100644 --- a/app/services/payment/stars.py +++ b/app/services/payment/stars.py @@ -383,6 +383,22 @@ class TelegramStarsMixin: exc_info=True, ) + # Начисляем реферальную комиссию за прямую покупку подписки + try: + from app.services.referral_service import process_referral_topup + + await process_referral_topup( + db, + user.id, + amount_kopeks, + getattr(self, 'bot', None), + ) + except Exception as ref_error: + logger.error( + 'Ошибка реферального начисления при покупке подписки через Stars: %s', + ref_error, + ) + logger.info( '✅ Обработан Stars платеж как покупка подписки: пользователь %s, %s звезд → %s', user.id, diff --git a/app/services/payment/yookassa.py b/app/services/payment/yookassa.py index 4cb15962..5358f283 100644 --- a/app/services/payment/yookassa.py +++ b/app/services/payment/yookassa.py @@ -687,6 +687,22 @@ class YooKassaPaymentMixin: payment.yookassa_payment_id, user.id, ) + + # Начисляем реферальную комиссию за прямую покупку подписки + try: + from app.services.referral_service import process_referral_topup + + await process_referral_topup( + db, + user.id, + payment.amount_kopeks, + getattr(self, 'bot', None), + ) + except Exception as ref_error: + logger.error( + 'Ошибка реферального начисления при покупке подписки YooKassa: %s', + ref_error, + ) else: old_balance = getattr(user, 'balance_kopeks', 0) was_first_topup = not getattr(user, 'has_made_first_topup', False)