Добрый день!
После оплаты товара через телеграм-бот заказ висит в статусе "Ожидает подтверждения". Приходится подтверждать вручную на странице Операции в ЛК Юкассы.
Бот на python, aiogram.
Предполагал, что подтверждение будет автоматически происходить в @dp.pre_checkout_query_handler.
Ниже код методов оплаты и подтверждения.
#обработчик кнопки Пак - оплата товара
@dp.callback_query_handler(buy_callback.filter(item_name="pack"))
async def buying_pack(call: CallbackQuery, callback_data: dict):
await bot.send_invoice(
chat_id=call.from_user.id,
title='Пак для сториз',
description='Стикеры, элементы, фоны, шрифты',
payload='pack_buy',
provider_token=PAYMENT_TOKEN,
currency='RUB',
start_parameter='test_bot',
prices=[{"label": "Руб", "amount": 10000}]
)
#подтверждение наличия товара
@dp.pre_checkout_query_handler(lambda q: True)
async def process_pre_checkout_query(pre_checkout_query: types.PreCheckoutQuery):
await bot.answer_pre_checkout_query(pre_checkout_query.id, ok=True)
#обработчик успешной оплаты
@dp.message_handler(content_types=ContentType.SUCCESSFUL_PAYMENT)
async def process_pay(message: types.Message):
if message.successful_payment.invoice_payload == "pack_buy":
#отправляем ссылку на скачивание
await bot.send_message(message.from_user.id, "Скачать здесь - " + URL_PACK)
Подскажите, пожалуйста, как сделать автоматическое подтверждение оплаты?