@bkfyou

Aiogram 3.2.0 ,Как в хендлер successful_payment добавить данные из callback?

Цель вопроса заключается в передаче callback данных в message.successful_payment, я использую конструкцию бд с SQLAchemy и передаю данные через запросы callback. Может ли мне тут помочь FSM состояние? Как его реализовать или какое другое решение найти?
@router.message(F.successful_payment)
async def successful_payment(message: Message):
    print("Перевод прошел успешно:")
    payment_info = message.successful_payment
    for k, v in payment_info:
        print(f"{k} = {v}")

    #  await callback.message.answer_location(latitude=47.504262, longitude=19.066605)
    await message.answer(
                           f"Оплата на сумму {message.successful_payment.total_amount // 100} {message.successful_payment.currency} прошла успешно!\n\nХорошего <b>Вам</b> настроения!")


Нужно передать сюда данные переменных для передачи геолокации

Вот пример как я использовал ето в отправке инвойса
@router.callback_query(F.data.startswith('payment_'))
async def payment_selected(callback: CallbackQuery):
    payment_id = callback.data.split('_')[1]
    payment = await get_payment(payment_id=payment_id)
    amount = payment.price*100


    PRICE = types.LabeledPrice(label='Како-то название', amount=amount)
    await bot.send_invoice(
        callback.from_user.id,

        title="Новогоднее настроение!",
        description="Инвестирование в хорошее настроение",
        provider_token=config.PAYMENT_TOKEN,
        currency="uah",
        is_flexible=False,
        prices=[PRICE],
        start_parameter="first-pay-test",
        payload="first-pay-invoice-test"
    )
  • Вопрос задан
  • 599 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы