From 08ca947b2b2bb29782c86e7b5d6bea71e2811751 Mon Sep 17 00:00:00 2001 From: Fringg Date: Thu, 2 Apr 2026 06:16:17 +0300 Subject: [PATCH] fix: send telegram_id@telegram.org as email to SeverPay SeverPay requires a non-empty client_email field. When user has no email, fallback to {telegram_id}@telegram.org instead of empty string. --- app/services/payment/severpay.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/services/payment/severpay.py b/app/services/payment/severpay.py index 50630b9e..d08b50f9 100644 --- a/app/services/payment/severpay.py +++ b/app/services/payment/severpay.py @@ -94,12 +94,15 @@ class SeverPayPaymentMixin: } try: + # SeverPay требует обязательный client_email + target_email = email or (f'{user.telegram_id}@telegram.org' if user and user.telegram_id else f'{tg_id}@telegram.org') + # Используем API для создания платежа result = await severpay_service.create_payment( order_id=order_id, amount=amount_rubles, currency=currency, - client_email=email or '', + client_email=target_email, client_id=str(tg_id), url_return=return_url or settings.SEVERPAY_RETURN_URL, lifetime=lifetime,