Top.Mail.Ru
Ответы

Как сделать invoice в aiogram. Валюта - Telegram Stars | Python

Как сделать invoice в aiogram. Валюта - Telegram Stars?
буду рад хорошему ответу

По дате
По рейтингу
Аватар пользователя
Ученик
5мес

Типо оплату ? Ну тогда вот:

from aiogram.types import Message, LabeledPrice, InlineKeyboardMarkup, InlineKeyboardButton

'''клавиатура оплаты text = что на кнопке'''
def payment_keyboard():
builder = InlineKeyboardBuilder()
Resize_keyboard = True
builder.button(text="Оплатить 1 ⭐️️", pay=True)

return builder.as_markup()

'''тут по команде вип создаётся и отправляется кнопка оплаты , amount - количество тг звёзд'''

@dp.message(Command('vip'))
async def lol(message: Message):
await message.answer('загружаю ссылку для вас')
await asyncio.sleep(3)
prices = [LabeledPrice(label='XTR', amount=1)]
await message.answer_invoice(
title='оформите vip💎',
description='оформи vip💎 чтобы открыть новые возможности',
prices=prices,
provider_token='',
payload='support_chanel',
currency='XTR',
reply_markup=payment_keyboard(),
)

'''проверка транзакции что Бот готов к получению оплаты'''

@dp.pre_checkout_query()
async def eo(pre_checkout_query: PreCheckoutQuery):
await pre_checkout_query.answer(ok=True)

'''теперь способ вернуть звёзды по команде /unvip'''

@dp.message(Command('unvip'))
async def no(message: Message,bot : Bot, command: CommandObject):
transaction_id = command.args
try:
await bot.refund_star_payment(
user_id=message.from_user.id,
telegram_payment_charge_id=transaction_id)
except Exception as e:
print(e)

'''всё оплата есть , за бота звё зды отправлять нельзя , вывод от 1000 и 21 день ожидания от последнего пополнения'''

"""ну что помог?"""

Аватар пользователя
Мудрец
7мес