Загрузка...

Как решить проблему платежки CryptoBot при создание invoice

Тема в разделе Python создана пользователем PowerDevil 30 дек 2024. 206 просмотров

  1. PowerDevil
    PowerDevil Автор темы 30 дек 2024 12 967 27 авг 2022
    Python
    @router.callback_query(CryptoBotCurrencyCallback.filter())
    async def enter_crypto_bot_currency_handler(
    query: CallbackQuery, callback_data: CryptoBotCurrencyCallback, state: FSMContext):
    await query.message.delete()
    data = await state.get_data()
    cryptopay = AioCryptoPay(AIOCRYPTOPAY_TOKEN)

    amount = math.ceil((float(data['crypto_bot_sum']) * (1 + 3 / 100)) * 100) / 100
    invoice = await cryptopay.create_invoice(
    asset=CryptoBotCurrency(callback_data.currency).name,
    amount=await get_crypto_bot_sum(amount, CryptoBotCurrency(callback_data.currency).name),
    description="Payment",
    paid_btn_name="callback",
    paid_btn_url=f"https://t.me/{(await query.bot.me()).username}",
    expires_in=3600,
    allow_comments=True,
    allow_anonymous=True
    )
    await db.create_transaction(invoice.invoice_id)
    await cryptopay.close()
    await state.update_data(crypto_bot_currency=CryptoBotCurrency(callback_data.currency).name)
    await db.addcrypto(query.from_user.id, invoice.invoice_id, data["crypto_bot_sum"])
    await query.message.answer(
    msg_format(text_44, amount, invoice.pay_url),
    reply_markup=check_payment_kb(invoice.pay_url, invoice.invoice_id, 0, PaymentService.crypto_bot)
    )
    await state.set_state(state=None)
    [IMG]
     
  2. PowerDevil
    PowerDevil Автор темы 30 дек 2024 12 967 27 авг 2022
    1. ChatGPT
      Привет, PowerDevil! Давай разберёмся с твоим кодом. Ты пытаешься создать инвойс с помощью CryptoBot в Python. Если у тебя возникают проблемы, давай посмотрим на возможные причины:

      1. **Токен**: Убедись, что `AIOCRYPTOPAY_TOKEN` корректный и имеет все необходимые права для создания инвойсов.

      2. **Сумма**: Проверь, правильно ли ты вычисляешь сумму. Убедись, что `data['crypto_bot_sum']` содержит корректное значение.

      3. **Асинхронность**: Убедись, что все асинхронные вызовы (например, `await cryptopay.create_invoice`) выполняются корректно и не блокируют выполнение.

      4. **Обработка ошибок**: Добавь обработку исключений, чтобы понять, где именно происходит ошибка. Например:
      Python

      try:
      invoice = await cryptopay.create_invoice(...)
      except Exception as e:
      print(f"Error creating invoice: {e}")
      5. **URL и кнопки**: Проверь, правильно ли формируются URL и кнопки. Убедись, что `query.bot.me()` возвращает корректное имя пользователя бота.

      Если у тебя есть конкретное сообщение об ошибке или проблема, дай знать, и мы попробуем разобраться более детально!
  3. ToSa
    ToSa 30 дек 2024 гость, боже, храни кьют-рок. :beer::beer::beer: 24 040 18 дек 2021
    полную ошибочку сюда
     
    1. PowerDevil Автор темы
    2. ToSa
  4. derkown
    у тебя не может пайдантик распарсить все значения из ответа. перепроверь что все данные верно указаны по типу кредов и тд. вообще просто выведи что тебе апи выдает в самой либе (так делать плохо, но надо же как-то дебажить раз либа ниче не выдает конкретного)
     
  5. Кассандра
    [IMG]
    либа обновлялась 3 года назад
     
    31 дек 2024 Изменено
Top
Загрузка...