Не могу отследить удачную оплату в aiogram 3.4

помогите не понимаю почему не получается отследить оплату

PRICE = LabeledPrice(label="Подписка на 1 месяц", amount=500*100)  # в копейках (руб)

async def sub_bay(user_id):
    await bot.send_invoice(user_id,
                           title="Подписка на бота",
                           description="Активация подписки на бота на 1 месяц",
                           provider_token=payments,
                           currency="rub",
                           photo_url="https://www.aroged.com/wp-content/uploads/2022/06/Telegram-has-a-premium-subscription.jpg",
                           photo_width=416,
                           photo_height=234,
                           photo_size=416,
                           is_flexible=False,
                           prices=[PRICE],
                           start_parameter="one-month-subscription",
                           payload="test-invoice-payload")
    

@router.pre_checkout_query()
async def pre_checkout_query(pre_checkout_query: PreCheckoutQuery, bot: Bot):
    user_id = pre_checkout_query.from_user.id 
    local_db = Database('./database/bot.db')
    res = local_db.test_sub(user_id)
    local_db.close()
    print(res[0])
    if res[0] == 'False':
        await bot.answer_pre_checkout_query(pre_checkout_query.id, ok=True)
    else:
        await bot.answer_pre_checkout_query(pre_checkout_query.id, ok=False, error_message='<b>У вас уже есть подписка</b>')
        await bot.send_message(user_id, 'У вас уже есть подписка')




@router.message(F.content_types == ContentType.SUCCESSFUL_PAYMENT)
async def successful_payment(message: Message):
    print('test SUCCESSFUL_PAYMENT')


Ответы (1 шт):

Автор решения: Andrey comp

Правильная реализация.

@router.message(F.successful_payment)
async def successful_payment(message: Message):
    print('test SUCCESSFUL_PAYMENT')
→ Ссылка