Как сделать invoice в aiogram. Валюта - Telegram Stars | Python
Как сделать invoice в aiogram. Валюта - Telegram Stars?
буду рад хорошему ответу
Типо оплату ? Ну тогда вот:
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 день ожидания от последнего пополнения'''
"""ну что помог?"""