@aqualangist

Почему заказ зависает в статусе waiting_for_the_capture?

Добрый день!
После оплаты товара через телеграм-бот заказ висит в статусе "Ожидает подтверждения". Приходится подтверждать вручную на странице Операции в ЛК Юкассы.

Бот на 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)


Подскажите, пожалуйста, как сделать автоматическое подтверждение оплаты?
  • Вопрос задан
  • 139 просмотров
Пригласить эксперта
Ответы на вопрос 1
@aqualangist Автор вопроса
Не актуально - проблема решилась использованием метода create_invoice
Ответ написан
Ваш ответ на вопрос

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

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