Telegram Bot API
🌐 Español

sendInvoice

Categoría: Pagos · Bot API 10.3 · Documentación oficial

Envía una factura para su pago.

Devuelve: Si la llamada tiene éxito, devuelve Message.

Parámetros

ParámetroTipoObligatorioDescripción
chat_idInteger or StringSíID del chat o @username
message_thread_idIntegerOpcionalID del tema del foro
direct_messages_topic_idIntegerOpcionalID del tema de mensajes directos (Bot API 10.0)
titleStringSíTítulo del producto (1-32)
descriptionStringSíDescripción del producto (1-255)
payloadStringSíPayload de la factura
provider_tokenStringOpcionalToken del proveedor de pagos
currencyStringSíMoneda (XTR para Stars)
pricesArray of LabeledPriceSíArray JSON de LabeledPrice
max_tip_amountIntegerOpcionalMonto máximo de propina
suggested_tip_amountsArray of IntegerOpcionalArray JSON de montos de propina sugeridos
start_parameterStringOpcionalDeep link para el pago
provider_dataStringOpcionalDatos JSON para el proveedor
photo_urlStringOpcionalURL de la foto del producto
photo_sizeIntegerOpcionalTamaño de la foto
photo_widthIntegerOpcionalAncho de la foto
photo_heightIntegerOpcionalAlto de la foto
need_nameBooleanOpcionalSolicitar el nombre del usuario
need_phone_numberBooleanOpcionalSolicitar el número de teléfono
need_emailBooleanOpcionalSolicitar el correo electrónico
need_shipping_addressBooleanOpcionalSolicitar la dirección de envío
send_phone_number_to_providerBooleanOpcionalEnviar el teléfono al proveedor
send_email_to_providerBooleanOpcionalEnviar el correo electrónico al proveedor
is_flexibleBooleanOpcionalPrecio de envío flexible
disable_notificationBooleanOpcionalEnviar sin sonido
protect_contentBooleanOpcionalProteger el contenido
allow_paid_broadcastBooleanOpcionalPermitir difusión de pago
message_effect_idStringOpcionalID del efecto del mensaje
suggested_post_parametersSuggestedPostParametersOpcionalObjeto JSON SuggestedPostParameters (para canales)
reply_parametersReplyParametersOpcionalObjeto JSON ReplyParameters
reply_markupInlineKeyboardMarkupOpcionalObjeto JSON InlineKeyboardMarkup

Las descripciones de los parámetros son resúmenes breves; consulta la documentación oficial para ver el texto completo.

Ejemplo de solicitud

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());

Guía paso a paso: Cómo crear un bot en Telegram paso a paso: de BotFather a tu primer mensaje