Делаю оплату товаров в телеграм боте через юкассу не получается сделать больше одного товара
Вот кусок моего кода с колбеками. Я понимаю что мессадж хендлер выполняется только один, соответственно второй уже никак не используется, но надеюсь кто нибудь да и поможет с этим короче вкратце как сделать так что бы эти 3 колбека с другими не конфликтовали? И извиняюсь сразу если код будет резать глаза)
@dp.callback_query_handler(text="appointment")
async def appointment(call: types.CallbackQuery):
await bot.delete_message(call.from_user.id, call.message.message_id)
await bot.send_invoice(chat_id=call.from_user.id, title="Запись на консультацию", description="Оплата записи на индивидуальную консультацию", payload="appointment_1", provider_token=shoptoken, currency="RUB", start_parameter="test_bot", prices=[{"label": "Руб", "amount":10000}])
@dp.pre_checkout_query_handler()
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 == "appointment_1":
await bot.send_message(message.from_user.id, '''Благодарю, что выбрали меня!
Для эффективной работы, заполните эту анкету о состоянии вашего здоровья:
************
******''')
#############################################################################################################################
@dp.callback_query_handler(text="meth1")
async def meth1(call: types.CallbackQuery):
await bot.delete_message(call.from_user.id, call.message.message_id)
await bot.send_invoice(chat_id=call.from_user.id, title="Методичка", description="Оплата методички 1", payload="meth1", provider_token=shoptoken, currency="RUB", start_parameter="test_bot1", prices=[{"label": "Руб", "amount":10000}])
@dp.pre_checkout_query_handler()
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_pay1(message: types.Message):
if message.successful_payment.invoice_payload == "meth1":
await bot.send_message(message.from_user.id, 'Вы оплатили методичку 1, можете забрать её ниже:')
#############################################################################################################################
Коллбек-инлайн кнопки
#############################################################################################################################
appointment_inline_markup = InlineKeyboardMarkup(row_width=1)
btnappointment = InlineKeyboardButton(text="Оплата записи на консультацию", callback_data="appointment")
appointment_inline_markup.insert(btnappointment)
meth1_inline_markup = InlineKeyboardMarkup(row_width=1)
btnmeth1 = InlineKeyboardButton(text="Оплата методички 1", callback_data="meth1")
meth1_inline_markup.insert(btnmeth1)