Декоратор не срабатывает на состояние FSM aiogram 3

Всем привет, может банальный вопрос, но голову уже сломал и конкретных ответов не нашёл. Декоратор вроде ловит изменение состояния FSM, но async def как будто работают только после отправки сообщения пользователем. Конкретно в той части, где юзер отправляет картинку для считывания текста (ContentType.PHOTO), FSM должна переключиться на финальную часть регистрации, отправив сообщения с картой клиента. Но этого не происходит, причем событие "поймано" по логам. Подскажите, с чем это может быть связано? Я только неделю в питоне, ума не приложу...

Вот FSM:

class Registration(StatesGroup):
    start = State()
    name_add = State()
    phone_add = State()
    loc_add = State()
    ltd_add = State()
    ltd_loc_add = State()
    bank_name = State()
    card = State()

Вот сам код:

@router.message(F.text == 'Зарегистрироваться')
async def user_star(message: Message, state: FSMContext, bot: Bot)->None:
     await bot.delete_message(message.chat.id, message.message_id)
     await state.set_state(Registration.start)
     await message.answer('Как Вас зовут?', reply_markup=types.ReplyKeyboardRemove())
     await state.update_data(name_add=message.text)
     await state.set_state(Registration.name_add)

@registration_router.message(Registration.name_add)
async def user_name(message: Message, state: FSMContext,)->None:
     global name
     name = message.text
     await message.reply('Приятно познакомиться!')
     await message.answer(f'{str(name)}, напишите свой номер телефона, либо поделитесь контактом', reply_markup=share_phone())
     await state.set_state(Registration.phone_add)

@registration_router.message(F.content_type == ContentType.CONTACT)
      async def contact_handler(message: types.Message, state: FSMContext)->None:
     global phone
     phone = str(message.contact.phone_number)
     await message.reply('Спасибо, обещаем не спамить :)', reply_markup=types.ReplyKeyboardRemove())
     await state.update_data(phone_add=message.contact.phone_number)
     await message.answer('Теперь напишите адрес и название Вашего заведения')
     await state.set_state(Registration.loc_add)


@registration_router.message(Registration.phone_add)
async def user_phone(message: Message, state: FSMContext, bot: Bot)->None:
     global phone
     phone = message.text
     await message.reply('Спасибо, обещаем не спамить :)')
     await state.update_data(phone_add=message.text)
     await message.answer('Теперь напишите адрес и название Вашего заведения')
     await state.set_state(Registration.loc_add)

@registration_router.message(Registration.loc_add)
async def user_loc(message: Message, state: FSMContext, bot: Bot)->None:
     global location
     location = message.text
     await message.answer('Отлично, осталось немного формальностей:')
     await asyncio.sleep(1)
     await state.update_data(loc_add=message.text)
     await bot.send_message(chat_id=message.chat.id, text='Напишите форму и название Вашего юр. лица.'
                     '\nК примеру "ООО Гойда" или "ИП Иванов Иван Иванович"'
                     '\nИНН: 1234567890')
     await asyncio.sleep(1)
     await message.answer('Либо отправьте картинкой карточку юр. лицо с реквизитами.')
     if message.photo:
         await state.set_state(Registration.card)
     await state.set_state(Registration.ltd_add)

@registration_router.message(F.content_type == ContentType.PHOTO)
async def download_photo(message: Message, bot: Bot, state: FSMContext):
     await bot.send_message(chat_id=message.chat.id, text='Обрабатываем картинку...')
     await state.set_state(Registration.card)
     await bot.download(
    message.photo[-1],
    destination=f"C:\\Users\\Homie\\Desktop\\bot\\Orc\\{message.photo[-1].file_id}.jpg")
     global photo_loc
     photo_loc = f"C:\\Users\\Homie\\Desktop\\bot\\Orc\\{message.photo[-1].file_id}.jpg"
     global id_card
     id_card = f'{str(ocr_photo(filename=photo_loc)).replace('[', '').replace(']', '').replace(r'\n', '\n').replace(r'\r', '\r').replace(r'\t', '\t')}'
     await asyncio.sleep(1)
     global i
     i = 1



@registration_router.message(Registration.ltd_add)
async def user_ltd(message: Message, state: FSMContext) -> None:
     global ltd
     ltd = message.text
     await state.update_data(ltd_add=message.text)
     await message.answer('Так, хорошо. Ваш юридический адрес?')
     await state.set_state(Registration.ltd_loc_add)

@registration_router.message(Registration.ltd_loc_add)
async def user_ltd_loc(message: Message, state: FSMContext, bot: Bot) -> None:
     global ltd_loc
     ltd_loc = message.text
     await message.answer('Принял')
     await asyncio.sleep(1)
     await state.update_data(ltd_loc_add=message.text)
     await bot.send_message(chat_id=message.chat.id, text='Осталось совсем чуть-чуть!')
     await asyncio.sleep(1)
     await bot.send_message(chat_id=message.chat.id, text='Введите основные реквизиты банка: р/cч, кор/сч, БИК')
     await state.set_state(Registration.bank_name)

@registration_router.message(Registration.bank_name)
async def user_bank_name(message: Message, state: FSMContext, bot: Bot) -> None:
     global bank_name
     bank_name = message.text
     await state.update_data(bank_name=message.text)
     await bot.send_message(chat_id=message.chat.id, text='Поздравляю, мы закончили! :)')
     await asyncio.sleep(1)
     await message.answer('Готово!', reply_markup=profile())
     await state.set_state(Registration.card)

@registration_router.message(Registration.card)
async def user_card(message: Message, state: FSMContext, bot: Bot) -> None:
     await bot.send_message(chat_id=message.chat.id, text='Подведём итоги...')
     await asyncio.sleep(1)
     id_name = str(name)
     id_phone = str(phone)
     id_loc = str(location)
     id_ltd = str(ltd)
     id_ltd_loc = str(ltd_loc)
     id_bank = str(bank_name)
     pic_id = str(id_card)
     await bot.send_message(chat_id=message.chat.id, text=f'Итак, Ваш профиль:')
     await asyncio.sleep(1)
     await bot.send_message(chat_id=message.chat.id, text=f'\nВаше имя: {id_name}'
                                                     f'\nВаш телефон: {id_phone}'
                                                     f'\nАдрес заведения: {id_loc}'
                                                     f'\nЮр. лицо: {id_ltd}'
                                                     f'\nЮр. адрес: {id_ltd_loc}'
                                                     f'\nРеквизиты: {id_bank}'
                       )
    if i == 1:
    await bot.send_message(chat_id=message.chat.id, text=f'\nВаше имя: {id_name}'
                                               f'\nВаш телефон: {id_phone}'
                                               f'\nАдрес заведения: {id_loc}'
                                               f'\nКарта юр. лица: {pic_id}')
    await bot.send_message(chat_id=message.chat.id, text='Спасибо за регистрацию! :)', reply_markup=menu_reg())

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