From 38c6adfdb4d4fc786bf6ca34a5d54025126130c0 Mon Sep 17 00:00:00 2001 From: Fringg Date: Tue, 10 Mar 2026 06:23:55 +0300 Subject: [PATCH] fix: pass full token to svc_activate instead of truncated prefix Telegram truncates start parameters to 64 chars, so gift_token from deep link may be a prefix. svc_activate does exact match internally, so we must pass gift_purchase.token (full token from DB) instead. --- app/handlers/start.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/handlers/start.py b/app/handlers/start.py index 39ae75fa..4745b64b 100644 --- a/app/handlers/start.py +++ b/app/handlers/start.py @@ -116,7 +116,7 @@ async def _activate_pending_gift_after_registration( if gift_purchase.status == GuestPurchaseStatus.PAID.value: gift_purchase.status = GuestPurchaseStatus.PENDING_ACTIVATION.value await db.flush() - await svc_activate(db, gift_token, skip_notification=True) + await svc_activate(db, gift_purchase.token, skip_notification=True) tariff_name = gift_purchase.tariff.name if gift_purchase.tariff else '' await answer_func( f'🎁 ΠŸΠΎΠ΄Π°Ρ€ΠΎΠΊ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½!\n'