Платеж Telegram Stars недействителенPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Платеж Telegram Stars недействителен

Сообщение Anonymous »

Всем привет. здесь я создал бота для Telegram, интегрированного с mongodb, для обработки платежей путем получения звезд Telegram от пользователей. но я получаю сообщение об ошибке telebot.apihelper.ApiTelegramException: запрос к API Telegram не удался. Код ошибки: 400. Описание: Неверный запрос: STARS_INVOICE_INVALID с использованием приведенного ниже идентификационного кода. и, возможно, кто-нибудь сможет объяснить ошибку, потому что я новичок в этом методе.
from telebot import types

from pymongo import MongoClient

mongo_url = 'mongodb+srv://useruser:[email protected]/?retryWrites=true&w=majority&appName=nekozu'
client = MongoClient(mongo_url)
db = client['redeem_db']
one_week_prem = db['1week_prem']
one_month_prem = db['1month_prem']
users_collection = db['users']

bot = telebot.TeleBot("7806705574:AAEBC97T47SSxOESRAY9Na1BY8Z78DebIWY")

# Function to create a payment keyboard
def payment_keyboard():
keyboard = types.InlineKeyboardMarkup()
button1 = types.InlineKeyboardButton(text="Pay 46 XTR", pay=True)
button2 = types.InlineKeyboardButton(text="Pay 276 XTR", pay=True)
keyboard.add(button1)
keyboard.add(button2)
return keyboard

# Function to create a keyboard with the "Buy Premium" button
def start_keyboard():
keyboard = types.InlineKeyboardMarkup()
button = types.InlineKeyboardButton(text="Buy Premium", callback_data="buy_premium")
keyboard.add(button)
return keyboard

@bot.message_handler(commands=['start'])
def handle_start(message):
bot.send_message(
message.chat.id,
"Welcome! Click the button below to purchase premium access.",
reply_markup=start_keyboard()
)

@bot.callback_query_handler(func=lambda call: call.data == "buy_premium")
def handle_buy_premium(call):
prices = [
types.LabeledPrice(label="1 Week Premium", amount=46),
types.LabeledPrice(label="1 Month Premium", amount=276)
]
bot.send_invoice(
call.message.chat.id,
title="Premium Access",
description="Choose your premium plan:\n1 Week: 46 stars\n1 Month: 276 stars",
invoice_payload="premium_purchase",
provider_token="",
currency="XTR",
prices=prices,
reply_markup=payment_keyboard()
)

@bot.pre_checkout_query_handler(func=lambda query: True)
def handle_pre_checkout_query(pre_checkout_query):
bot.answer_pre_checkout_query(pre_checkout_query.id, ok=True)

@bot.message_handler(content_types=['successful_payment'])
def handle_successful_payment(message):
# Get payment details
payment_data = {
'user_id': message.from_user.id,
'username': message.from_user.username,
'payment_id': message.successful_payment.provider_payment_charge_id,
'amount': message.successful_payment.total_amount,
'currency': message.successful_payment.currency,
'timestamp': message.date
}

# Determine premium duration based on payment amount
amount = message.successful_payment.total_amount
if amount == 46:
one_week_prem.insert_one(payment_data)
duration = "1 week"
else:
one_month_prem.insert_one(payment_data)
duration = "1 month"

# Update user's premium status
users_collection.update_one(
{'user_id': message.from_user.id},
{'$set': {
'is_premium': True,
'premium_start': message.date,
'premium_duration': duration
}},
upsert=True
)

# Send confirmation message
bot.send_message(
message.chat.id,
f"✅ Payment of {amount} stars accepted! Your {duration} premium access has been activated.\n"
"Enjoy your premium features! 🎉"
)

@bot.message_handler(commands=['paysupport'])
def handle_pay_support(message):
bot.send_message(
message.chat.id,
"Premium purchases using Telegram stars are non-refundable. "
"If you have any questions or issues, please contact our support."
)

bot.polling()



Подробнее здесь: https://stackoverflow.com/questions/791 ... nt-invalid
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Платеж Telegram Stars недействителен
    Anonymous » » в форуме Python
    0 Ответы
    35 Просмотры
    Последнее сообщение Anonymous
  • Платеж Telegram Stars недействителен
    Anonymous » » в форуме Python
    0 Ответы
    77 Просмотры
    Последнее сообщение Anonymous
  • TypeError: API.Payments.sendStars не является конструктором при отправке подарков Telegram Stars с Gramjs (Telegram.js)
    Anonymous » » в форуме Javascript
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Регулярный платеж Глобальный платеж
    Anonymous » » в форуме Php
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Проблема с IAP (Telegram Stars) на Android
    Anonymous » » в форуме Android
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»