skip to Main Content

I’m trying to send an invoice message in the Telegram bot, but get an error
{"ok":false,"error_code":400,"description":"Bad Request: can’t parse prices JSON object"}
Here is my send invoice def:

def sendInvoice(chat_id):

    invoice = {'chat_id': chat_id,
               'title': 'Оплата услуги',
               'description': 'Лайки на фото для инстаграм',
               'payload': 'Payload',
               'provider_token': 'provider_token',
               'start_parameter': 'insta pay',
               'currency': 'UAH',
               'prices': {'label': 'Цена', 'amount': 300000},
               }


    url = URL + 'sendInvoice'
    response = requests.post(url, invoice)
    print(response.__dict__)

2

Answers


  1. you can use telebot library :

    pip install pyTelegramBotAPI
    

    Code :

    import telebot
    
    bot = telebot.TeleBot("TOKEN")
    bot.send_invoice()
    

    you can see send_invoice params in github.

    Login or Signup to reply.
  2. You need to convert your list of prices to json serializable –
    use the json module built it in python

    json.dumps([
        {
            "label": "My product",
            "amount": 999999
        }
    ])
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search