Telegram Bot API
🌐 Русский

sendInvoice

Категория: Оплата · Bot API 10.3 · Официальная документация

Отправляет счёт для оплаты.

Возвращает: При успехе возвращает Message.

Параметры

ПараметрТипОбязательныйОписание
chat_idInteger or StringДаID чата или @username
message_thread_idIntegerНетID темы форума
direct_messages_topic_idIntegerНетID темы прямых сообщений (Bot API 10.0)
titleStringДаНазвание товара (1-32)
descriptionStringДаОписание товара (1-255)
payloadStringДаПолезная нагрузка
provider_tokenStringНетТокен платёжного провайдера
currencyStringДаВалюта (XTR для Stars)
pricesArray of LabeledPriceДаJSON массив LabeledPrice
max_tip_amountIntegerНетМаксимальная сумма чаевых
suggested_tip_amountsArray of IntegerНетJSON массив предлагаемых чаевых
start_parameterStringНетГлубокая ссылка для оплаты
provider_dataStringНетJSON данные для провайдера
photo_urlStringНетURL фото товара
photo_sizeIntegerНетРазмер фото
photo_widthIntegerНетШирина фото
photo_heightIntegerНетВысота фото
need_nameBooleanНетЗапросить имя пользователя
need_phone_numberBooleanНетЗапросить номер телефона
need_emailBooleanНетЗапросить email
need_shipping_addressBooleanНетЗапросить адрес доставки
send_phone_number_to_providerBooleanНетОтправить телефон провайдеру
send_email_to_providerBooleanНетОтправить email провайдеру
is_flexibleBooleanНетГибкая цена доставки
disable_notificationBooleanНетБез звука
protect_contentBooleanНетЗащитить контент
allow_paid_broadcastBooleanНетРазрешить платную трансляцию
message_effect_idStringНетID эффекта сообщения
suggested_post_parametersSuggestedPostParametersНетJSON объект SuggestedPostParameters (для каналов)
reply_parametersReplyParametersНетJSON объект ReplyParameters
reply_markupInlineKeyboardMarkupНетJSON: InlineKeyboardMarkup

Описания параметров даны кратко; полный текст — в официальной документации (на английском).

Пример запроса

curl

curl -s -X POST "https://api.telegram.org/bot$TOKEN/sendInvoice" \
  -H "Content-Type: application/json" \
  -d '{
  "chat_id": 123456789,
  "title": "Example",
  "description": "Example item",
  "payload": "order-1",
  "currency": "XTR",
  "prices": [
    {
      "label": "Item",
      "amount": 100
    }
  ]
}'

Python

import requests

TOKEN = "123456789:AAEexampleTokenReplaceWithYours"
resp = requests.post(
    f"https://api.telegram.org/bot{TOKEN}/sendInvoice",
    json={
        "chat_id": 123456789,
        "title": "Example",
        "description": "Example item",
        "payload": "order-1",
        "currency": "XTR",
        "prices": [
            {
                "label": "Item",
                "amount": 100
            }
        ]
    },
    timeout=30,
)
print(resp.json())

JavaScript

const TOKEN = "123456789:AAEexampleTokenReplaceWithYours";
const res = await fetch(`https://api.telegram.org/bot${TOKEN}/sendInvoice`, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    "chat_id": 123456789,
    "title": "Example",
    "description": "Example item",
    "payload": "order-1",
    "currency": "XTR",
    "prices": [
      {
        "label": "Item",
        "amount": 100
      }
    ]
  }),
});
console.log(await res.json());

Пошаговое руководство: Как создать бота в Телеграм: от @BotFather до первого сообщения