{
  "name": "sendInvoice",
  "anchor": "sendinvoice",
  "description": [
    "Use this method to send invoices. On success, the sent Message is returned."
  ],
  "table": {
    "headers": [
      "Parameter",
      "Type",
      "Required",
      "Description"
    ],
    "rows": [
      {
        "parameter": "chat_id",
        "type": "Integer or String",
        "required": "Yes",
        "description": "Unique identifier for the target chat or username of the target channel (in the format @channelusername )"
      },
      {
        "parameter": "message_thread_id",
        "type": "Integer",
        "required": "Optional",
        "description": "Unique identifier for the target message thread (topic) of a forum; for forum supergroups and private chats of bots with forum topic mode enabled only"
      },
      {
        "parameter": "direct_messages_topic_id",
        "type": "Integer",
        "required": "Optional",
        "description": "Identifier of the direct messages topic to which the message will be sent; required if the message is sent to a direct messages chat"
      },
      {
        "parameter": "title",
        "type": "String",
        "required": "Yes",
        "description": "Product name, 1-32 characters"
      },
      {
        "parameter": "description",
        "type": "String",
        "required": "Yes",
        "description": "Product description, 1-255 characters"
      },
      {
        "parameter": "payload",
        "type": "String",
        "required": "Yes",
        "description": "Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes."
      },
      {
        "parameter": "provider_token",
        "type": "String",
        "required": "Optional",
        "description": "Payment provider token, obtained via @BotFather . Pass an empty string for payments in Telegram Stars ."
      },
      {
        "parameter": "currency",
        "type": "String",
        "required": "Yes",
        "description": "Three-letter ISO 4217 currency code, see more on currencies . Pass “XTR” for payments in Telegram Stars ."
      },
      {
        "parameter": "prices",
        "type": "Array of LabeledPrice",
        "required": "Yes",
        "description": "Price breakdown, a JSON-serialized list of components (e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.). Must contain exactly one item for payments in Telegram Stars ."
      },
      {
        "parameter": "max_tip_amount",
        "type": "Integer",
        "required": "Optional",
        "description": "The maximum accepted amount for tips in the smallest units of the currency (integer, not float/double). For example, for a maximum tip of US$ 1.45 pass max_tip_amount = 145 . See the exp parameter in currencies.json , it shows the number of digits past the decimal point for each currency (2 for the majority of currencies). Defaults to 0. Not supported for payments in Telegram Stars ."
      },
      {
        "parameter": "suggested_tip_amounts",
        "type": "Array of Integer",
        "required": "Optional",
        "description": "A JSON-serialized array of suggested amounts of tips in the smallest units of the currency (integer, not float/double). At most 4 suggested tip amounts can be specified. The suggested tip amounts must be positive, passed in a strictly increased order and must not exceed max_tip_amount ."
      },
      {
        "parameter": "start_parameter",
        "type": "String",
        "required": "Optional",
        "description": "Unique deep-linking parameter. If left empty, forwarded copies of the sent message will have a Pay button, allowing multiple users to pay directly from the forwarded message, using the same invoice. If non-empty, forwarded copies of the sent message will have a URL button with a deep link to the bot (instead of a Pay button), with the value used as the start parameter"
      },
      {
        "parameter": "provider_data",
        "type": "String",
        "required": "Optional",
        "description": "JSON-serialized data about the invoice, which will be shared with the payment provider. A detailed description of required fields should be provided by the payment provider."
      },
      {
        "parameter": "photo_url",
        "type": "String",
        "required": "Optional",
        "description": "URL of the product photo for the invoice. Can be a photo of the goods or a marketing image for a service. People like it better when they see what they are paying for."
      },
      {
        "parameter": "photo_size",
        "type": "Integer",
        "required": "Optional",
        "description": "Photo size in bytes"
      },
      {
        "parameter": "photo_width",
        "type": "Integer",
        "required": "Optional",
        "description": "Photo width"
      },
      {
        "parameter": "photo_height",
        "type": "Integer",
        "required": "Optional",
        "description": "Photo height"
      },
      {
        "parameter": "need_name",
        "type": "Boolean",
        "required": "Optional",
        "description": "Pass True if you require the user's full name to complete the order. Ignored for payments in Telegram Stars ."
      },
      {
        "parameter": "need_phone_number",
        "type": "Boolean",
        "required": "Optional",
        "description": "Pass True if you require the user's phone number to complete the order. Ignored for payments in Telegram Stars ."
      },
      {
        "parameter": "need_email",
        "type": "Boolean",
        "required": "Optional",
        "description": "Pass True if you require the user's email address to complete the order. Ignored for payments in Telegram Stars ."
      },
      {
        "parameter": "need_shipping_address",
        "type": "Boolean",
        "required": "Optional",
        "description": "Pass True if you require the user's shipping address to complete the order. Ignored for payments in Telegram Stars ."
      },
      {
        "parameter": "send_phone_number_to_provider",
        "type": "Boolean",
        "required": "Optional",
        "description": "Pass True if the user's phone number should be sent to the provider. Ignored for payments in Telegram Stars ."
      },
      {
        "parameter": "send_email_to_provider",
        "type": "Boolean",
        "required": "Optional",
        "description": "Pass True if the user's email address should be sent to the provider. Ignored for payments in Telegram Stars ."
      },
      {
        "parameter": "is_flexible",
        "type": "Boolean",
        "required": "Optional",
        "description": "Pass True if the final price depends on the shipping method. Ignored for payments in Telegram Stars ."
      },
      {
        "parameter": "disable_notification",
        "type": "Boolean",
        "required": "Optional",
        "description": "Sends the message silently . Users will receive a notification with no sound."
      },
      {
        "parameter": "protect_content",
        "type": "Boolean",
        "required": "Optional",
        "description": "Protects the contents of the sent message from forwarding and saving"
      },
      {
        "parameter": "allow_paid_broadcast",
        "type": "Boolean",
        "required": "Optional",
        "description": "Pass True to allow up to 1000 messages per second, ignoring broadcasting limits for a fee of 0.1 Telegram Stars per message. The relevant Stars will be withdrawn from the bot's balance"
      },
      {
        "parameter": "message_effect_id",
        "type": "String",
        "required": "Optional",
        "description": "Unique identifier of the message effect to be added to the message; for private chats only"
      },
      {
        "parameter": "suggested_post_parameters",
        "type": "SuggestedPostParameters",
        "required": "Optional",
        "description": "A JSON-serialized object containing the parameters of the suggested post to send; for direct messages chats only. If the message is sent as a reply to another suggested post, then that suggested post is automatically declined."
      },
      {
        "parameter": "reply_parameters",
        "type": "ReplyParameters",
        "required": "Optional",
        "description": "Description of the message to reply to"
      },
      {
        "parameter": "reply_markup",
        "type": "InlineKeyboardMarkup",
        "required": "Optional",
        "description": "A JSON-serialized object for an inline keyboard . If empty, one 'Pay total price ' button will be shown. If not empty, the first button must be a Pay button."
      }
    ]
  },
  "notes": []
}