From 6449066e4120c0808a120432ea30e385e64cd772 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Mon, 26 Apr 2021 12:41:12 +0000 Subject: [PATCH] Update content of files --- data/core.telegram.org/bots/api.html | 211 ++++++++++++++++-- data/core.telegram.org/bots/payments.html | 180 ++++++++++----- data/telegram.org.html | 24 +- data/telegram.org/api.html | 24 +- data/telegram.org/blog.html | 16 +- data/telegram.org/blog/200-million.html | 24 +- data/telegram.org/blog/400-million.html | 24 +- data/telegram.org/blog/6-years.html | 24 +- data/telegram.org/blog/admin-revolution.html | 24 +- .../blog/albums-saved-messages.html | 24 +- data/telegram.org/blog/android-2-0.html | 24 +- data/telegram.org/blog/android-gif.html | 24 +- data/telegram.org/blog/android-streaming.html | 24 +- data/telegram.org/blog/android-themes.html | 24 +- data/telegram.org/blog/android-wear-2-0.html | 24 +- data/telegram.org/blog/animated-stickers.html | 24 +- data/telegram.org/blog/apple-watch.html | 24 +- .../blog/archive-and-new-design.html | 24 +- data/telegram.org/blog/autodelete-inv2.html | 24 +- data/telegram.org/blog/autoplay.html | 24 +- data/telegram.org/blog/backgrounds-2-0.html | 24 +- data/telegram.org/blog/bot-revolution.html | 24 +- data/telegram.org/blog/bots-2-0.html | 24 +- .../telegram.org/blog/cache-and-stickers.html | 24 +- data/telegram.org/blog/calls.html | 24 +- data/telegram.org/blog/captions-places.html | 24 +- data/telegram.org/blog/channels-2-0.html | 24 +- data/telegram.org/blog/channels.html | 24 +- .../blog/contacts-local-groups.html | 24 +- data/telegram.org/blog/coronavirus.html | 24 +- .../crowdsourcing-a-more-secure-future.html | 24 +- .../telegram.org/blog/cryptocontest-ends.html | 24 +- data/telegram.org/blog/cryptocontest.html | 24 +- data/telegram.org/blog/desktop-1-0.html | 24 +- data/telegram.org/blog/desktop-compact.html | 24 +- .../blog/discover-stickers-and-more.html | 24 +- data/telegram.org/blog/drafts.html | 24 +- data/telegram.org/blog/edit.html | 24 +- data/telegram.org/blog/encrypted-cdns.html | 24 +- data/telegram.org/blog/export-and-more.html | 24 +- data/telegram.org/blog/files-on-steroids.html | 24 +- .../filters-anonymous-admins-comments.html | 24 +- data/telegram.org/blog/folders.html | 24 +- data/telegram.org/blog/games.html | 24 +- data/telegram.org/blog/gif-revolution.html | 24 +- data/telegram.org/blog/gifs.html | 24 +- data/telegram.org/blog/inline-bots.html | 24 +- data/telegram.org/blog/instant-camera.html | 24 +- .../blog/instant-view-contest-200K.html | 24 +- data/telegram.org/blog/instant-view.html | 24 +- data/telegram.org/blog/invite-links.html | 24 +- data/telegram.org/blog/link-preview.html | 24 +- data/telegram.org/blog/live-locations.html | 24 +- data/telegram.org/blog/login.html | 24 +- data/telegram.org/blog/masks.html | 24 +- data/telegram.org/blog/moar-stickers.html | 24 +- data/telegram.org/blog/move-history.html | 24 +- .../blog/new-profiles-people-nearby.html | 24 +- data/telegram.org/blog/now-you-see-me.html | 24 +- data/telegram.org/blog/passport.html | 24 +- data/telegram.org/blog/payments.html | 24 +- .../blog/permissions-groups-undo.html | 24 +- .../blog/photo-editor-and-passcodes.html | 24 +- data/telegram.org/blog/pin-and-ifttt.html | 24 +- .../pinned-messages-locations-playlists.html | 24 +- .../world.html | 24 +- data/telegram.org/blog/polls-2-0-vmq.html | 24 +- data/telegram.org/blog/polls.html | 24 +- .../blog/privacy-discussions-web-bots.html | 24 +- .../telegram.org/blog/privacy-revolution.html | 24 +- ...profile-videos-people-nearby-and-more.html | 24 +- .../blog/replies-mentions-hashtags.html | 24 +- .../blog/replies-mentions-stickers.html | 24 +- .../blog/scheduled-reminders-themes.html | 24 +- data/telegram.org/blog/search-and-media.html | 24 +- .../sessions-and-2-step-verification.html | 24 +- data/telegram.org/blog/share-preview.html | 24 +- data/telegram.org/blog/shared-files.html | 24 +- data/telegram.org/blog/shared-links.html | 24 +- .../blog/silent-messages-slow-mode.html | 24 +- .../blog/stickers-meet-art-and-history.html | 24 +- .../blog/stickers-revolution.html | 24 +- data/telegram.org/blog/stickers.html | 24 +- data/telegram.org/blog/supergroups.html | 24 +- data/telegram.org/blog/supergroups5k.html | 24 +- data/telegram.org/blog/tdlib.html | 24 +- data/telegram.org/blog/telegram-5-ios.html | 24 +- .../telegram-me-change-number-and-pfs.html | 24 +- data/telegram.org/blog/telegram-x.html | 24 +- data/telegram.org/blog/telegraph.html | 24 +- data/telegram.org/blog/themes-accounts.html | 24 +- data/telegram.org/blog/translations-iv2.html | 24 +- data/telegram.org/blog/trending-stickers.html | 24 +- data/telegram.org/blog/unread-replace-2x.html | 24 +- data/telegram.org/blog/unsend-and-usage.html | 24 +- .../blog/unsend-privacy-emoji.html | 24 +- .../blog/usernames-and-secret-chats-v2.html | 24 +- .../blog/verifiable-apps-and-more.html | 24 +- data/telegram.org/blog/video-calls.html | 24 +- data/telegram.org/blog/video-editor-gifs.html | 24 +- .../blog/video-messages-and-telescope.html | 24 +- data/telegram.org/blog/voice-2-secret-3.html | 24 +- .../blog/voice-chats-on-steroids.html | 24 +- data/telegram.org/blog/voice-chats.html | 24 +- .../blog/winter-contest-ends.html | 24 +- data/telegram.org/template31.html | 24 +- .../what-can-you-do-with-Telegram.html | 24 +- 107 files changed, 1575 insertions(+), 1328 deletions(-) diff --git a/data/core.telegram.org/bots/api.html b/data/core.telegram.org/bots/api.html index cc32354757..b4c4b96f88 100644 --- a/data/core.telegram.org/bots/api.html +++ b/data/core.telegram.org/bots/api.html @@ -50,6 +50,31 @@ To learn how to create…">

Subscribe to @BotNews to be the first to know about the latest updates and join the discussion in @BotTalk

+

April 26, 2021

+

Bot API 5.2

+ +
+
+

⚠️ WARNING! ⚠️
After the next Bot API update (Bot API 5.3) there will be a one-time change of the value of the field file_unique_id in objects of the type PhotoSize and of the fields small_file_unique_id and big_file_unique_id in objects of the type ChatPhoto.

+
+
+
+

⚠️ WARNING! ⚠️
Service messages about non-bot users joining the chat will be soon removed from large groups. We recommend using the “chat_status” update as a replacement.

+
+
+
+

⚠️ WARNING! ⚠️
After one of the upcoming Bot API updates, user identifiers will become bigger than 2^31 - 1 and it will be no longer possible to store them in a signed 32-bit integer type. User identifiers will have up to 52 significant bits, so a 64-bit integer or double-precision float type would still be safe for storing them. Please make sure that your code can correctly handle such user identifiers.

+
+

March 9, 2021

Bot API 5.1

Added two new update types

@@ -877,6 +902,11 @@ To learn how to create…"> Optional. Service message. A user in the chat triggered another user's proximity alert while sharing Live Location. +voice_chat_scheduled +VoiceChatScheduled +Optional. Service message: voice chat scheduled + + voice_chat_started VoiceChatStarted Optional. Service message: voice chat started @@ -1622,6 +1652,24 @@ To learn how to create…"> +

VoiceChatScheduled

+

This object represents a service message about a voice chat scheduled in the chat.

+ + + + + + + + + + + + + + + +
FieldTypeDescription
start_dateIntegerPoint in time (Unix timestamp) when the voice chat is supposed to be started by a chat administrator

VoiceChatStarted

This object represents a service message about a voice chat started in the chat. Currently holds no information.

VoiceChatEnded

@@ -2839,7 +2887,7 @@ pre-formatted fixed-width code block written in the Python programming language
  • Escaping inside entities is not allowed, so entity must be closed first and reopened again: use _snake_\__case_ for italic snake_case and *2*\**2=4* for bold 2*2=4.
  • forwardMessage

    -

    Use this method to forward messages of any kind. On success, the sent Message is returned.

    +

    Use this method to forward messages of any kind. Service messages can't be forwarded. On success, the sent Message is returned.

    @@ -2877,7 +2925,7 @@ pre-formatted fixed-width code block written in the Python programming language

    copyMessage

    -

    Use this method to copy messages of any kind. The method is analogous to the method forwardMessage, but the copied message doesn't have a link to the original message. Returns the MessageId of the sent message on success.

    +

    Use this method to copy messages of any kind. Service messages and invoice messages can't be copied. The method is analogous to the method forwardMessage, but the copied message doesn't have a link to the original message. Returns the MessageId of the sent message on success.

    @@ -5651,11 +5699,6 @@ pre-formatted fixed-width code block written in the Python programming language - - - - - @@ -5665,6 +5708,16 @@ pre-formatted fixed-width code block written in the Python programming language + + + + + + + + + +
    Sender
    locationLocationOptional. Sender location, only for bots that request user location
    query String Text of the query (up to 256 characters)String Offset of the results to be returned, can be controlled by the bot
    chat_typeStringOptional. Type of the chat, from which the inline query was sent. Can be either “sender” for a private chat with the inline query sender, “private”, “group”, “supergroup”, or “channel”. The chat type should be always known for requests sent from official clients and most third-party clients, unless the request was sent from a secret chat
    locationLocationOptional. Sender location, only for bots that request user location

    answerInlineQuery

    @@ -7103,12 +7156,13 @@ pre-formatted fixed-width code block written in the Python programming language

    Note: This will only work in Telegram versions released after 9 April, 2016. Older clients will ignore them.

    InputMessageContent

    -

    This object represents the content of a message to be sent as a result of an inline query. Telegram clients currently support the following 4 types:

    +

    This object represents the content of a message to be sent as a result of an inline query. Telegram clients currently support the following 5 types:

    InputTextMessageContent

    Represents the content of a text message to be sent as the result of an inline query.

    @@ -7272,6 +7326,119 @@ pre-formatted fixed-width code block written in the Python programming language +

    InputInvoiceMessageContent

    +

    Represents the content of an invoice message to be sent as the result of an inline query.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ParameterTypeDescription
    titleStringProduct name, 1-32 characters
    descriptionStringProduct description, 1-255 characters
    payloadStringBot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.
    provider_tokenStringPayment provider token, obtained via Botfather
    currencyStringThree-letter ISO 4217 currency code, see more on currencies
    pricesArray of LabeledPricePrice breakdown, a JSON-serialized list of components (e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.)
    max_tip_amountIntegerOptional. 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
    suggested_tip_amountsArray of IntegerOptional. A JSON-serialized array of suggested amounts of tip 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.
    provider_dataStringOptional. A JSON-serialized object for data about the invoice, which will be shared with the payment provider. A detailed description of the required fields should be provided by the payment provider.
    photo_urlStringOptional. 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.
    photo_sizeIntegerOptional. Photo size
    photo_widthIntegerOptional. Photo width
    photo_heightIntegerOptional. Photo height
    need_nameBooleanOptional. Pass True, if you require the user's full name to complete the order
    need_phone_numberBooleanOptional. Pass True, if you require the user's phone number to complete the order
    need_emailBooleanOptional. Pass True, if you require the user's email address to complete the order
    need_shipping_addressBooleanOptional. Pass True, if you require the user's shipping address to complete the order
    send_phone_number_to_providerBooleanOptional. Pass True, if user's phone number should be sent to provider
    send_email_to_providerBooleanOptional. Pass True, if user's email address should be sent to provider
    is_flexibleBooleanOptional. Pass True, if the final price depends on the shipping method

    ChosenInlineResult

    Represents a result of an inline query that was chosen by the user and sent to their chat partner.

    @@ -7327,9 +7494,9 @@ pre-formatted fixed-width code block written in the Python programming language - + - + @@ -7356,12 +7523,6 @@ pre-formatted fixed-width code block written in the Python programming language - - - - - - @@ -7374,6 +7535,24 @@ pre-formatted fixed-width code block written in the Python programming language + + + + + + + + + + + + + + + + + + diff --git a/data/core.telegram.org/bots/payments.html b/data/core.telegram.org/bots/payments.html index 1e144aa685..d829316dc7 100644 --- a/data/core.telegram.org/bots/payments.html +++ b/data/core.telegram.org/bots/payments.html @@ -4,12 +4,10 @@ Bot Payments API - + - + @@ -47,30 +45,50 @@ Note: This article is intended for bot developers. If you're…"> -

    You can accept payments from Telegram users via Telegram Bots.

    +

    Telegram Bot Payments are a free and open platform that allows sellers to accept payments for goods and services from Telegram users. Telegram doesn't collect payment information and takes no commission.

    -

    Note: This article is intended for bot developers. If you're looking for a general overview of Telegram Payments, check out the Telegram blog.
    Also, visit the MTProto payment documentation for a technical overview of payments from the user's perspective.

    +

    Note: This article is intended for bot developers and store owners. If you're looking for a general overview of Telegram Payments, check out the Telegram blog.

    If you are new to Telegram bots and would like to learn how to create and set up a bot, please consult our Introduction to Bots and Bot FAQ.

    -

    Introducing Payments

    -

    Telegram bots can accept payments for goods and services from users as of Bot API v.3.0. Users will need Telegram v.4.0 or higher to pay for your goods and services.

    -

    How does this work?

    -

    From the user's perspective the payments system is completely seamless. Merchant bots can send specially formatted invoice messages to users. Such invoice messages feature a photo and description of the product along with a prominent Pay button. Tapping this button opens a special payment interface in the Telegram app. In this interface, users are prompted for additional details like shipping info, phone number, or email address.

    -

    Once they've entered all the necessary info, it is forwarded to the merchant bot. The bot can offer several shipping options for physical goods based on the address. When ready, users can enter their credit card info or choose one of their saved cards — and pay for the product. Telegram also supports Apple Pay and Google Pay. Once the transaction is done, the merchant bot sends a receipt message that contains payment details along with shipping and delivery information.

    -
    -
    -
    -

    How do you process payments?

    -

    Telegram does not process payments from users and instead relies on different payment providers around the world. It is the payment providers that handle and store all sensitive information, like credit card details. Neither Telegram nor the bot developers have access to it. For the moment we support payments from more than 200 countries via the the following payment providers:

    +
    +

    Users need to update to Telegram 7.7 or higher to use Payments 2.0 (for Telegram Desktop, 2.7.2 or higher). Older mobile apps released after May 2017 support basic payments in chats with bots.

    +
    +

    How does this work?

    +

    You create a bot that offers goods and services to Telegram users. Merchant bots can send specially formatted invoice messages to users, groups or channels. If your bot supports inline mode, users can also send invoices to other chats via the bot, including to one-on-one chats with other users.

    +
    + +
    + +

    Invoice messages feature a photo and description of the product along with a prominent Pay button. Tapping this button opens a special payment interface in the Telegram app. In this interface, users can choose a tip amount (if allowed by the merchant) and enter additional details like shipping info, phone number, or email address.

    +

    The bot can offer several shipping options for physical goods based on the delivery address. When ready, users enter their credit card info or choose a saved card — and pay for the product. Telegram also supports Apple Pay and Google Pay. Once the transaction is done, the merchant bot can send a receipt message with payment details, shipping and delivery information.

    +
    +

    Detailed information and step-by-step instructions are available below.

    +
    +

    Supported Payment Providers

    +

    Telegram does not process payments from users and instead relies on different payment providers around the world. It is the payment providers that handle and store all sensitive information, like credit card details. Neither Telegram nor the bot developers have access to it.

    +

    For the moment we support payments from more than 200 countries via the the following payment providers:

    -

    More providers are coming, stay tuned to @BotNews for updates.

    -

    How do I join as a payment provider?

    -

    If you work for a company that provides services similar to standalone accounts in Stripe Connect, please let us know via @BotSupport (kindly include the hashtag #paymentsprovider in your message).

    -

    How much do you charge?

    -

    Telegram does not charge any commission for using the Payments API. Note though, that most payment providers will have their own commissions. For example, Stripe in the US charges 2.9% + 30¢ per successful card charge (see the Stripe website for more details on pricing).

    -

    What can my bot sell?

    -

    Telegram does not impose any limits on what products or services your bot can offer. But please note that you must comply with the rules of the payments provider you choose in our system. E.g., Stripe has a special page for prohibited businesses – you may want to consult that one before you start selling harvested organs.

    -

    Special Note: Due to Apple's limitations, bot developers are currently not allowed to accept payments for digital goods and virtual services from iOS users.

    -

    How are disputes handled?

    -

    Telegram acts as a messenger between the paying user, the bot developer, and their chosen payment system. The user sends their credit card details directly to the payment system. Then the payment system's response and the shipping details entered by the user are passed to the bot developer so that they can process the order.

    -

    Since Telegram doesn‘t process the payments, we don’t store and can‘t access any sensitive data. Due to this structure, it is impossible for Telegram to handle complaints or cashbacks – any disputed payments are the responsibility of the bot developers, payment providers, and banks that participated in the exchange.

    +

    We continue expanding this list, follow @BotNews for updates.

    -

    See also: Telegram Privacy Policy

    +

    If you work for a company that provides services similar to standalone accounts in Stripe Connect, please let us know via @BotSupport (include the hashtag #paymentsprovider in your message).

    +

    The Payments API

    -

    Now let's look at payments via Telegram's Bot API in more detail. To start accepting payments, you need a Telegram bot, obviously. Have a chat with BotFather to create a bot if you haven't got one already.

    +

    This section explores payments via Telegram's Bot API in more detail.

    Connecting Payments

    -

    Now you have a merchant bot that wants to offer goods or services to Telegram users. Let's call it @merchantbot in this document. First stop is to choose and connect a payment provider, you can find the list of supported providers above.

    +

    To start accepting payments, you need a Telegram bot. Use BotFather to create a bot if you don't have one already.

    +

    Now you have a merchant bot that can offer goods or services to Telegram users. Let's call it @merchantbot in this document. The first stop is to choose and connect a payment provider, you can find the list of supported providers above.

    Getting a Token

    -

    Use the /mybots command in the chat with BotFather and choose the @merchantbot that will be offering goods or services. Go to Bot Settings > Payments. Choose a provider, and you will be redirected to the relevant bot. Enter the required details so that the payments provider is connected successfully, go back to the chat with Botfather. The message will now show available providers. Each will have a name, a token, and the date the provider was connected. You will use the token when working with the Bot API.

    + +

    Implementing Payments

    +

    You will find the necessary methods for building your payment implementation in the Payments Section of the Bot API Manual.

    Testing Payments: the 'Stripe TEST MODE' Provider

    -

    While you're still developing and testing payments for your bot, use the “Stripe TEST MODE” provider. When in this mode, you can make payments without actually billing any accounts. Real cards can't be used in test mode, but you can use test cards like 4242 4242 4242 4242 (full list here). You can switch between test mode and live mode as many times as you want, but please see the live checklist before you go live.

    -

    Please note that when your merchant bot is working in test mode, it will only be able to send invoices to those Telegram users that are mutual contacts with the account of the bot's creator. So make sure that those who will help you test the payments functionality are in your contacts list.

    +

    While you're still developing and testing payments for your bot, use the “Stripe TEST MODE” provider. When in this mode, you can make payments without actually billing any accounts. Real cards can't be used in test mode, but you can use test cards like 4242 4242 4242 4242 (full list here). You can switch between test mode and live mode as many times as you want, but please see the live checklist before you go live.

    Step-by-Step Process

    +
    +

    See Bot API: Payments for the complete list of available methods and objects.

    +

    1. Create Invoice

    -

    The user contacts @merchantbot and requests to purchase something. The bot forms an invoice message with a description of the goods or service, amount to be paid, as well as requested shipping info.

    -

    Use the sendInvoice method to do this. The provider_token parameter is where you put the token value that you've obtained earlier via Botfather. It is possible for one merchant bot to use several different tokens for different users or different goods and services.

    -

    An invoice message with a pay button can only be sent to a private chat with the user. Groups and channels are not supported. The resulting invoice message will look like this:

    +

    The user contacts @merchantbot and requests to purchase something. The bot forms an invoice message with a description of the goods or service, amount to be paid, and requested shipping info. There are two ways of creating an invoice:

    +
    A. Bot Invoice
    +

    Use the sendInvoice method to generate an invoice and send it to a chat. The provider_token parameter is where you put the token value that you've obtained earlier via Botfather. It is possible for one merchant bot to use several different tokens for different users or different goods and services.

    +

    As of Payments 2.0, invoice messages with a pay button can be sent to chats of any type: private chats with the user, groups, or channels. The resulting invoice message will look like this:

    - -

    Invoice in Chat

    + +

    Bot Invoice

    -

    2. Shipping info and other details (optional step)

    +
    B. Inline Invoice
    +

    If @merchantbot supports inline mode, you can use inputInvoiceMessageContent to allow users to share invoices for your goods and services to their one-on-one chats with friends, or to their groups and channels. These invoices will have a Pay button that can be used multiple times.

    +
    + +

    Inline Invoice

    + +

    2. Choose Forwarding Behavior

    +

    As of Payments 2.0 there are two ways for handling forwarded copies of your invoices, controlled by the parameter start_parameter in the sendInvoice method.

    + +

    If a single-chat invoice is sent to the chat with @merchantbot, it can only be paid once. If a single-chat invoice is sent to any other chat, it can be paid many times by many users.

    +
    +

    To get a better understanding of how this works, try toggling the “Pay from Forwards” parameter when creating invoices with our demo @ShopBot.

    +
    +

    Regardless of whether or not the Pay button is available in an invoice, the merchant bot always has the power to decide whether or not to accept new payments for a particular invoice.

    +

    3. Tips (optional step)

    +

    If the max_tip_amount parameter is set to above 0, users can add a tip to their payment. You can use the parameter suggested_tip_amounts to suggest particular amounts that you feel will be relevant for the invoice.

    +
    + +

    Adding Tips

    + +

    4. Shipping info and other details (optional step)

    The user specifies shipping information or other info requested by the bot. This could be the user's full name, an email address, a phone number in international format, or a full postal address for delivery.

    - +

    Shipping Info

    -

    3. Offer delivery options based on shipping address (optional step)

    +

    5. Offer delivery options based on shipping address (optional step)

    If a shipping address was requested and you included the parameter is_flexible, the Bot API will send an Update with a shipping_query field to the bot. The bot must respond using answerShippingQuery either with a list of possible delivery options and the relevant delivery prices, or with an error (for example, if delivery to the specified address is not possible).

    -

    4. Select delivery option (optional step)

    +
    +

    Tip: It is recommended that the merchant bot confirms availability of the goods/services at this step – to let the user know in case they are no longer available. This is especially important if you are using multi-chat, inline or single-chat, multi-use invoices.

    +
    +

    6. Select delivery option (optional step)

    The user selects a delivery option from the list (the overall amount to be paid may change at this point) and proceeds to checkout.

    - +

    Choose Delivery Option

    -

    5. Pre-Checkout

    +

    7. Pre-Checkout

    The user enters their payment information and presses the final pay button. At this moment the Bot API sends an Update with the field pre_checkout_query to the bot that contains all the available information about the order. Your bot must reply using answerPrecheckoutQuery within 10 seconds after receiving this update or the transaction is canceled.

    -

    The bot may return an error if it can't process the order for any reason. We highly recommend specifying a reason for failure to complete the order in human readable form (e.g. "Sorry, we're all out of rubber ducks! Would you be interested in a steel bear instead?"). Telegram will display this reason to the user.

    -

    6. Checkout

    +

    The bot may return an error if it can't process the order for any reason. We highly recommend specifying a reason for failure to complete the order in human readable form (e.g. "Sorry, we're all out of rubber ducks! Would you be interested in a cast iron bear instead?"). Telegram will display this reason to the user.

    +
    +

    Warning: As of Payments 2.0, it is critical to make sure your bot only accepts multiple payments when the order can be processed correctly. This is especially important if you are using multi-chat, inline or single-chat, multi-use invoices.

    +
    +

    8. Checkout

    In case the bot confirms the order, Telegram requests the payment provider to complete the transaction. If the payment information was entered correctly and the payment goes through, the API will send a receipt message of the type successful_payment from the user. Once your bot receives this message, it should proceed with delivering the goods or services purchased by the user.

    -

    For the user, the Invoice message in the UI becomes a Receipt — they can open this receipt at any time and see all the details of the transaction:

    +

    If the invoice message was sent in the chat with @merchantbot, it becomes a Receipt in the UI for the user — they can open this receipt at any time and see all the details of the transaction:

    - +

    Receipt

    -

    Going Viral: Deep Linking

    -

    Note the arrow button on the right of the receipt message on the screenshot above. This quick forwarding button allows the user to select multiple friends, groups, or channels and send the message to them immediately. Thanks to this button, your goods and services can spread virally — the resulting message will have a button that leads users to your bot and asks it to create a similar invoice.

    -

    For the quick forwarding button to work correctly, all your invoice messages must contain a start_parameter for creating a new invoice. More info on Deep Linking »

    +

    If the message was sent to any other chat, the Pay button remains and can be used again. It is up to the merchant bot whether to actually accept multiple payments.

    Going Live

    Once you've tested everything and confirmed that your payments implementation works, you're ready to switch to LIVE MODE. To do this, go to BotFather > /mybots > select @merchantbot > Bot Settings / Payments and enable Stripe LIVE MODE. You will get a token that has the string :LIVE: in the middle, e.g. 123:LIVE:XXXX. Do not give this token to any third parties!

    Before your merchant bot goes into live mode, please ensure the following:

    @@ -149,7 +198,26 @@ Note: This article is intended for bot developers. If you're…">
  • Make sure that your server hardware and software is stable. Use backups to make sure that you don't lose data about your users' payments.
  • Make sure that you have completed the live checklist for your selected payments provider as well as this one.
  • -

    Supported Currencies

    +
    +

    FAQ

    +

    How do I join as a payment provider?

    +

    If you work for a company that provides services similar to standalone accounts in Stripe Connect, please let us know via @BotSupport (kindly include the hashtag #paymentsprovider in your message).

    +

    How much do you charge?

    +

    Telegram does not charge any commission for using the Payments API. Note though, that most payment providers will have their own commissions. For example, Stripe in the US charges 2.9% + 30¢ per successful card charge (see the Stripe website for more details on pricing).

    +

    Do I need a bot to accept payments?

    +

    Yes. If you are not a developer, you will need to either hire someone to make a bot for you (recommended), or use a bot created by a third-party company. We advise extreme caution when using services of bots that process payments for you – Telegram doesn't maintain any such bots and doesn't endorse any of the third-party bots offering these services.

    +

    What can my bot sell?

    +

    Telegram does not impose any limits on what products or services your bot can offer. But please note that you must comply with the rules of the payments provider you choose in our system. E.g., Stripe has a special page for prohibited businesses – you may want to consult that one before you start selling harvested organs.

    +

    Special Note: Due to Apple's limitations, bot developers are currently not allowed to accept payments for digital goods and virtual services from iOS users.

    +

    How are disputes handled?

    +

    Telegram acts as a messenger between the paying user, the bot developer, and their chosen payment system. The user sends their credit card details directly to the payment system. Then the payment system's response and the shipping details entered by the user are passed to the bot developer so that they can process the order.

    +

    Since Telegram doesn‘t process the payments, we don’t store and can‘t access any sensitive data. Due to this structure, it is impossible for Telegram to handle complaints or cashbacks – any disputed payments are the responsibility of the bot developers, payment providers, and banks that participated in the exchange.

    +
    +

    See also: Telegram Privacy Policy

    +
    +

    How do I support payments in my third-party app that uses the Telegram API?

    +

    You are welcome to study the MTProto payment documentation.

    +

    Supported Currencies

    Telegram payments currently support the currencies listed below (here's a JSON version in case you need it).

    If you're using Stripe as the payments provider, supported currencies may vary depending on the country you have specified in your Stripe account (more info).

    The minimum and maximum amounts for each of the currencies roughly correspond to the limit of US$ 1-10000. The amount must be expressed in 12 digits or less, so the maximum value will be correspondingly lower for some lower-value currencies. Note that for each currency except USD these limits depend on exchange rates and may change over time (plan ahead for this when you implement limits in your code).

    diff --git a/data/telegram.org.html b/data/telegram.org.html index a07181ef89..f85b71a5c4 100644 --- a/data/telegram.org.html +++ b/data/telegram.org.html @@ -48,15 +48,15 @@
    Recent News
    @@ -109,20 +109,20 @@ Recent News
    -
    diff --git a/data/telegram.org/api.html b/data/telegram.org/api.html index 1e1643b152..f411b724ec 100644 --- a/data/telegram.org/api.html +++ b/data/telegram.org/api.html @@ -48,15 +48,15 @@
    Recent News
    @@ -109,20 +109,20 @@ Recent News
    -
    diff --git a/data/telegram.org/blog.html b/data/telegram.org/blog.html index a16b74f152..6c429b436f 100644 --- a/data/telegram.org/blog.html +++ b/data/telegram.org/blog.html @@ -44,7 +44,14 @@

    Telegram News

    -
    diff --git a/data/telegram.org/blog/apple-watch.html b/data/telegram.org/blog/apple-watch.html index e5a8045433..0c4e6a5656 100644 --- a/data/telegram.org/blog/apple-watch.html +++ b/data/telegram.org/blog/apple-watch.html @@ -47,7 +47,10 @@ @@ -118,7 +118,14 @@ Other News diff --git a/data/telegram.org/blog/archive-and-new-design.html b/data/telegram.org/blog/archive-and-new-design.html index f572923e4e..87317315f9 100644 --- a/data/telegram.org/blog/archive-and-new-design.html +++ b/data/telegram.org/blog/archive-and-new-design.html @@ -47,7 +47,10 @@ @@ -211,7 +211,14 @@ Other News diff --git a/data/telegram.org/blog/autodelete-inv2.html b/data/telegram.org/blog/autodelete-inv2.html index b7cca27667..6c41c170fd 100644 --- a/data/telegram.org/blog/autodelete-inv2.html +++ b/data/telegram.org/blog/autodelete-inv2.html @@ -47,7 +47,10 @@ @@ -190,7 +190,14 @@ Other News diff --git a/data/telegram.org/blog/autoplay.html b/data/telegram.org/blog/autoplay.html index be91bf1ab1..12c70cf21e 100644 --- a/data/telegram.org/blog/autoplay.html +++ b/data/telegram.org/blog/autoplay.html @@ -47,7 +47,10 @@ @@ -138,7 +138,14 @@ Other News diff --git a/data/telegram.org/blog/backgrounds-2-0.html b/data/telegram.org/blog/backgrounds-2-0.html index 529cd3f8f5..0248657e5f 100644 --- a/data/telegram.org/blog/backgrounds-2-0.html +++ b/data/telegram.org/blog/backgrounds-2-0.html @@ -47,7 +47,10 @@ @@ -124,7 +124,14 @@ Other News diff --git a/data/telegram.org/blog/bot-revolution.html b/data/telegram.org/blog/bot-revolution.html index 6714d7354f..9682c5afb1 100644 --- a/data/telegram.org/blog/bot-revolution.html +++ b/data/telegram.org/blog/bot-revolution.html @@ -47,7 +47,10 @@ @@ -172,7 +172,14 @@ Other News diff --git a/data/telegram.org/blog/bots-2-0.html b/data/telegram.org/blog/bots-2-0.html index 568649c458..e6e452abae 100644 --- a/data/telegram.org/blog/bots-2-0.html +++ b/data/telegram.org/blog/bots-2-0.html @@ -47,7 +47,10 @@ @@ -153,7 +153,14 @@ Other News diff --git a/data/telegram.org/blog/cache-and-stickers.html b/data/telegram.org/blog/cache-and-stickers.html index 8b2ff545f9..9e6d2b49ef 100644 --- a/data/telegram.org/blog/cache-and-stickers.html +++ b/data/telegram.org/blog/cache-and-stickers.html @@ -47,7 +47,10 @@ @@ -124,7 +124,14 @@ Other News diff --git a/data/telegram.org/blog/calls.html b/data/telegram.org/blog/calls.html index 6247be28a9..3f85ae2fc9 100644 --- a/data/telegram.org/blog/calls.html +++ b/data/telegram.org/blog/calls.html @@ -47,7 +47,10 @@ @@ -159,7 +159,14 @@ Other News diff --git a/data/telegram.org/blog/captions-places.html b/data/telegram.org/blog/captions-places.html index a140a93c63..2254e3b42e 100644 --- a/data/telegram.org/blog/captions-places.html +++ b/data/telegram.org/blog/captions-places.html @@ -47,7 +47,10 @@ @@ -137,7 +137,14 @@ Other News diff --git a/data/telegram.org/blog/channels-2-0.html b/data/telegram.org/blog/channels-2-0.html index 5b4255b29e..a9e9e69d75 100644 --- a/data/telegram.org/blog/channels-2-0.html +++ b/data/telegram.org/blog/channels-2-0.html @@ -47,7 +47,10 @@ @@ -139,7 +139,14 @@ Other News diff --git a/data/telegram.org/blog/channels.html b/data/telegram.org/blog/channels.html index 278ab6e351..8ccc467a99 100644 --- a/data/telegram.org/blog/channels.html +++ b/data/telegram.org/blog/channels.html @@ -47,7 +47,10 @@ @@ -117,7 +117,14 @@ Other News diff --git a/data/telegram.org/blog/contacts-local-groups.html b/data/telegram.org/blog/contacts-local-groups.html index 94d15714f7..8bb903d917 100644 --- a/data/telegram.org/blog/contacts-local-groups.html +++ b/data/telegram.org/blog/contacts-local-groups.html @@ -47,7 +47,10 @@ @@ -165,7 +165,14 @@ Other News diff --git a/data/telegram.org/blog/coronavirus.html b/data/telegram.org/blog/coronavirus.html index c8cae5d205..5abf67eac0 100644 --- a/data/telegram.org/blog/coronavirus.html +++ b/data/telegram.org/blog/coronavirus.html @@ -47,7 +47,10 @@ @@ -147,7 +147,14 @@ Other News diff --git a/data/telegram.org/blog/crowdsourcing-a-more-secure-future.html b/data/telegram.org/blog/crowdsourcing-a-more-secure-future.html index 7e048ba2d7..e29085770c 100644 --- a/data/telegram.org/blog/crowdsourcing-a-more-secure-future.html +++ b/data/telegram.org/blog/crowdsourcing-a-more-secure-future.html @@ -47,7 +47,10 @@ @@ -105,7 +105,14 @@ Other News diff --git a/data/telegram.org/blog/cryptocontest-ends.html b/data/telegram.org/blog/cryptocontest-ends.html index 4adba17b40..bc5c0410a8 100644 --- a/data/telegram.org/blog/cryptocontest-ends.html +++ b/data/telegram.org/blog/cryptocontest-ends.html @@ -47,7 +47,10 @@ @@ -107,7 +107,14 @@ Other News diff --git a/data/telegram.org/blog/cryptocontest.html b/data/telegram.org/blog/cryptocontest.html index fa935ade84..70fad66826 100644 --- a/data/telegram.org/blog/cryptocontest.html +++ b/data/telegram.org/blog/cryptocontest.html @@ -47,7 +47,10 @@ @@ -117,7 +117,14 @@ Other News diff --git a/data/telegram.org/blog/desktop-1-0.html b/data/telegram.org/blog/desktop-1-0.html index b49e6783f8..1ae7605293 100644 --- a/data/telegram.org/blog/desktop-1-0.html +++ b/data/telegram.org/blog/desktop-1-0.html @@ -47,7 +47,10 @@ @@ -143,7 +143,14 @@ Other News diff --git a/data/telegram.org/blog/desktop-compact.html b/data/telegram.org/blog/desktop-compact.html index d301213658..056b5b4214 100644 --- a/data/telegram.org/blog/desktop-compact.html +++ b/data/telegram.org/blog/desktop-compact.html @@ -47,7 +47,10 @@ @@ -106,7 +106,14 @@ Other News diff --git a/data/telegram.org/blog/discover-stickers-and-more.html b/data/telegram.org/blog/discover-stickers-and-more.html index 9782efa13e..f0d9403d60 100644 --- a/data/telegram.org/blog/discover-stickers-and-more.html +++ b/data/telegram.org/blog/discover-stickers-and-more.html @@ -47,7 +47,10 @@ @@ -139,7 +139,14 @@ Other News diff --git a/data/telegram.org/blog/drafts.html b/data/telegram.org/blog/drafts.html index d2bb24376e..6d71fa9863 100644 --- a/data/telegram.org/blog/drafts.html +++ b/data/telegram.org/blog/drafts.html @@ -47,7 +47,10 @@ @@ -135,7 +135,14 @@ Other News diff --git a/data/telegram.org/blog/edit.html b/data/telegram.org/blog/edit.html index 6e2a08505c..44de1a781c 100644 --- a/data/telegram.org/blog/edit.html +++ b/data/telegram.org/blog/edit.html @@ -47,7 +47,10 @@ @@ -138,7 +138,14 @@ Other News diff --git a/data/telegram.org/blog/encrypted-cdns.html b/data/telegram.org/blog/encrypted-cdns.html index 8fa373dafd..c65852293a 100644 --- a/data/telegram.org/blog/encrypted-cdns.html +++ b/data/telegram.org/blog/encrypted-cdns.html @@ -47,7 +47,10 @@ @@ -121,7 +121,14 @@ Other News diff --git a/data/telegram.org/blog/export-and-more.html b/data/telegram.org/blog/export-and-more.html index 492481af79..278ddc235b 100644 --- a/data/telegram.org/blog/export-and-more.html +++ b/data/telegram.org/blog/export-and-more.html @@ -47,7 +47,10 @@ @@ -131,7 +131,14 @@ To name just a few projects that integrated Telegram Passport: Other News
    diff --git a/data/telegram.org/blog/files-on-steroids.html b/data/telegram.org/blog/files-on-steroids.html index 7f43f69e63..79e4bd97fb 100644 --- a/data/telegram.org/blog/files-on-steroids.html +++ b/data/telegram.org/blog/files-on-steroids.html @@ -47,7 +47,10 @@
    Recent News
    @@ -133,7 +133,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/filters-anonymous-admins-comments.html b/data/telegram.org/blog/filters-anonymous-admins-comments.html index bc0f8c6e66..92f9d829a2 100644 --- a/data/telegram.org/blog/filters-anonymous-admins-comments.html +++ b/data/telegram.org/blog/filters-anonymous-admins-comments.html @@ -47,7 +47,10 @@
    Recent News
    @@ -152,7 +152,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/folders.html b/data/telegram.org/blog/folders.html index a6d53e615b..e39cf272d0 100644 --- a/data/telegram.org/blog/folders.html +++ b/data/telegram.org/blog/folders.html @@ -47,7 +47,10 @@
    Recent News
    @@ -191,7 +191,14 @@ If you have a channel with more than 100050 subscribers, you can Other News
    -
    diff --git a/data/telegram.org/blog/games.html b/data/telegram.org/blog/games.html index 9a0760084e..44483ee907 100644 --- a/data/telegram.org/blog/games.html +++ b/data/telegram.org/blog/games.html @@ -47,7 +47,10 @@
    Recent News
    @@ -157,7 +157,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/gif-revolution.html b/data/telegram.org/blog/gif-revolution.html index 75e1ba6bc6..b3f38b2c5c 100644 --- a/data/telegram.org/blog/gif-revolution.html +++ b/data/telegram.org/blog/gif-revolution.html @@ -47,7 +47,10 @@
    Recent News
    @@ -117,7 +117,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/gifs.html b/data/telegram.org/blog/gifs.html index bb4521e045..ddf5cd3df0 100644 --- a/data/telegram.org/blog/gifs.html +++ b/data/telegram.org/blog/gifs.html @@ -47,7 +47,10 @@
    Recent News
    @@ -116,7 +116,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/inline-bots.html b/data/telegram.org/blog/inline-bots.html index 3c6f8e465d..9131f24aa2 100644 --- a/data/telegram.org/blog/inline-bots.html +++ b/data/telegram.org/blog/inline-bots.html @@ -47,7 +47,10 @@
    Recent News
    @@ -127,7 +127,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/instant-camera.html b/data/telegram.org/blog/instant-camera.html index f5056b6eda..e27a276aec 100644 --- a/data/telegram.org/blog/instant-camera.html +++ b/data/telegram.org/blog/instant-camera.html @@ -47,7 +47,10 @@
    Recent News
    @@ -122,7 +122,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/instant-view-contest-200K.html b/data/telegram.org/blog/instant-view-contest-200K.html index ef6000c13b..1a20319ac2 100644 --- a/data/telegram.org/blog/instant-view-contest-200K.html +++ b/data/telegram.org/blog/instant-view-contest-200K.html @@ -47,7 +47,10 @@
    Recent News
    @@ -166,7 +166,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/instant-view.html b/data/telegram.org/blog/instant-view.html index 67f925103b..0cbcff1cdc 100644 --- a/data/telegram.org/blog/instant-view.html +++ b/data/telegram.org/blog/instant-view.html @@ -47,7 +47,10 @@
    Recent News
    @@ -161,7 +161,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/invite-links.html b/data/telegram.org/blog/invite-links.html index d91b78b778..107babc934 100644 --- a/data/telegram.org/blog/invite-links.html +++ b/data/telegram.org/blog/invite-links.html @@ -47,7 +47,10 @@
    Recent News
    @@ -110,7 +110,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/link-preview.html b/data/telegram.org/blog/link-preview.html index ce4a75201c..ddbdc88e6f 100644 --- a/data/telegram.org/blog/link-preview.html +++ b/data/telegram.org/blog/link-preview.html @@ -47,7 +47,10 @@
    Recent News
    @@ -110,7 +110,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/live-locations.html b/data/telegram.org/blog/live-locations.html index 9ebe8fa780..0999cf9083 100644 --- a/data/telegram.org/blog/live-locations.html +++ b/data/telegram.org/blog/live-locations.html @@ -47,7 +47,10 @@
    Recent News
    @@ -136,7 +136,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/login.html b/data/telegram.org/blog/login.html index 3b0c4d462b..72f63409f0 100644 --- a/data/telegram.org/blog/login.html +++ b/data/telegram.org/blog/login.html @@ -47,7 +47,10 @@
    Recent News
    @@ -150,7 +150,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/masks.html b/data/telegram.org/blog/masks.html index 2a67ddd250..e3d409d269 100644 --- a/data/telegram.org/blog/masks.html +++ b/data/telegram.org/blog/masks.html @@ -47,7 +47,10 @@
    Recent News
    @@ -141,7 +141,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/moar-stickers.html b/data/telegram.org/blog/moar-stickers.html index 50ee9c116d..555343d5fd 100644 --- a/data/telegram.org/blog/moar-stickers.html +++ b/data/telegram.org/blog/moar-stickers.html @@ -47,7 +47,10 @@
    Recent News
    @@ -236,7 +236,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/move-history.html b/data/telegram.org/blog/move-history.html index 0288d7e63d..88e7d8ae8d 100644 --- a/data/telegram.org/blog/move-history.html +++ b/data/telegram.org/blog/move-history.html @@ -47,7 +47,10 @@
    Recent News
    @@ -175,7 +175,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/new-profiles-people-nearby.html b/data/telegram.org/blog/new-profiles-people-nearby.html index 3e682f01c8..2b70de65d6 100644 --- a/data/telegram.org/blog/new-profiles-people-nearby.html +++ b/data/telegram.org/blog/new-profiles-people-nearby.html @@ -47,7 +47,10 @@
    Recent News
    @@ -156,7 +156,14 @@ Spread the love and stay tuned for the next update! Other News
    -
    diff --git a/data/telegram.org/blog/now-you-see-me.html b/data/telegram.org/blog/now-you-see-me.html index 0a77cc6ca1..03739756c8 100644 --- a/data/telegram.org/blog/now-you-see-me.html +++ b/data/telegram.org/blog/now-you-see-me.html @@ -47,7 +47,10 @@
    Recent News
    @@ -128,7 +128,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/passport.html b/data/telegram.org/blog/passport.html index f3a4febf9e..f8e09835a2 100644 --- a/data/telegram.org/blog/passport.html +++ b/data/telegram.org/blog/passport.html @@ -47,7 +47,10 @@
    Recent News
    @@ -126,7 +126,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/payments.html b/data/telegram.org/blog/payments.html index 120b01c3fe..0e5939115b 100644 --- a/data/telegram.org/blog/payments.html +++ b/data/telegram.org/blog/payments.html @@ -47,7 +47,10 @@
    Recent News
    @@ -146,7 +146,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/permissions-groups-undo.html b/data/telegram.org/blog/permissions-groups-undo.html index debe437d3e..431d142ff8 100644 --- a/data/telegram.org/blog/permissions-groups-undo.html +++ b/data/telegram.org/blog/permissions-groups-undo.html @@ -47,7 +47,10 @@
    Recent News
    @@ -158,7 +158,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/photo-editor-and-passcodes.html b/data/telegram.org/blog/photo-editor-and-passcodes.html index 66efbdf698..3fabe85491 100644 --- a/data/telegram.org/blog/photo-editor-and-passcodes.html +++ b/data/telegram.org/blog/photo-editor-and-passcodes.html @@ -47,7 +47,10 @@
    Recent News
    @@ -145,7 +145,14 @@ Without entering this passcode, no one will be able to access your Telegram mess Other News
    -
    diff --git a/data/telegram.org/blog/pin-and-ifttt.html b/data/telegram.org/blog/pin-and-ifttt.html index e05765c419..243f330710 100644 --- a/data/telegram.org/blog/pin-and-ifttt.html +++ b/data/telegram.org/blog/pin-and-ifttt.html @@ -47,7 +47,10 @@
    Recent News
    @@ -156,7 +156,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/pinned-messages-locations-playlists.html b/data/telegram.org/blog/pinned-messages-locations-playlists.html index fe867a98d8..52a0c32fcd 100644 --- a/data/telegram.org/blog/pinned-messages-locations-playlists.html +++ b/data/telegram.org/blog/pinned-messages-locations-playlists.html @@ -47,7 +47,10 @@
    Recent News
    @@ -173,7 +173,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/pinned-messages-locations-playlists/world.html b/data/telegram.org/blog/pinned-messages-locations-playlists/world.html index 576ac729b5..9a56b1437e 100644 --- a/data/telegram.org/blog/pinned-messages-locations-playlists/world.html +++ b/data/telegram.org/blog/pinned-messages-locations-playlists/world.html @@ -47,7 +47,10 @@
    Recent News
    @@ -169,7 +169,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/polls-2-0-vmq.html b/data/telegram.org/blog/polls-2-0-vmq.html index 153e64f678..2a0ca84a3d 100644 --- a/data/telegram.org/blog/polls-2-0-vmq.html +++ b/data/telegram.org/blog/polls-2-0-vmq.html @@ -47,7 +47,10 @@
    Recent News
    @@ -164,7 +164,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/polls.html b/data/telegram.org/blog/polls.html index 652e7ad505..7990b383ae 100644 --- a/data/telegram.org/blog/polls.html +++ b/data/telegram.org/blog/polls.html @@ -47,7 +47,10 @@
    Recent News
    @@ -123,7 +123,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/privacy-discussions-web-bots.html b/data/telegram.org/blog/privacy-discussions-web-bots.html index 4bdddc1d14..21f058a86a 100644 --- a/data/telegram.org/blog/privacy-discussions-web-bots.html +++ b/data/telegram.org/blog/privacy-discussions-web-bots.html @@ -47,7 +47,10 @@
    Recent News
    @@ -177,7 +177,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/privacy-revolution.html b/data/telegram.org/blog/privacy-revolution.html index 6f1c91bf36..87b257a04c 100644 --- a/data/telegram.org/blog/privacy-revolution.html +++ b/data/telegram.org/blog/privacy-revolution.html @@ -47,7 +47,10 @@
    Recent News
    @@ -119,7 +119,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/profile-videos-people-nearby-and-more.html b/data/telegram.org/blog/profile-videos-people-nearby-and-more.html index d22dd33135..1da0ac072d 100644 --- a/data/telegram.org/blog/profile-videos-people-nearby-and-more.html +++ b/data/telegram.org/blog/profile-videos-people-nearby-and-more.html @@ -47,7 +47,10 @@
    Recent News
    @@ -206,7 +206,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/replies-mentions-hashtags.html b/data/telegram.org/blog/replies-mentions-hashtags.html index 6356cfb760..ec05acc24d 100644 --- a/data/telegram.org/blog/replies-mentions-hashtags.html +++ b/data/telegram.org/blog/replies-mentions-hashtags.html @@ -47,7 +47,10 @@
    Recent News
    @@ -131,7 +131,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/replies-mentions-stickers.html b/data/telegram.org/blog/replies-mentions-stickers.html index 27a98d365e..3a367739ca 100644 --- a/data/telegram.org/blog/replies-mentions-stickers.html +++ b/data/telegram.org/blog/replies-mentions-stickers.html @@ -47,7 +47,10 @@
    Recent News
    @@ -150,7 +150,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/scheduled-reminders-themes.html b/data/telegram.org/blog/scheduled-reminders-themes.html index 48fd8a492e..638165f166 100644 --- a/data/telegram.org/blog/scheduled-reminders-themes.html +++ b/data/telegram.org/blog/scheduled-reminders-themes.html @@ -47,7 +47,10 @@
    Recent News
    @@ -157,7 +157,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/search-and-media.html b/data/telegram.org/blog/search-and-media.html index ae8f48fccf..e6762f37db 100644 --- a/data/telegram.org/blog/search-and-media.html +++ b/data/telegram.org/blog/search-and-media.html @@ -47,7 +47,10 @@
    Recent News
    @@ -125,7 +125,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/sessions-and-2-step-verification.html b/data/telegram.org/blog/sessions-and-2-step-verification.html index bac75d68de..f4d2fb2f14 100644 --- a/data/telegram.org/blog/sessions-and-2-step-verification.html +++ b/data/telegram.org/blog/sessions-and-2-step-verification.html @@ -47,7 +47,10 @@
    Recent News
    @@ -113,7 +113,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/share-preview.html b/data/telegram.org/blog/share-preview.html index e0c1771745..92294dafe0 100644 --- a/data/telegram.org/blog/share-preview.html +++ b/data/telegram.org/blog/share-preview.html @@ -47,7 +47,10 @@
    Recent News
    @@ -162,7 +162,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/shared-files.html b/data/telegram.org/blog/shared-files.html index c9ae83c4f2..23776f10ff 100644 --- a/data/telegram.org/blog/shared-files.html +++ b/data/telegram.org/blog/shared-files.html @@ -47,7 +47,10 @@
    Recent News
    @@ -124,7 +124,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/shared-links.html b/data/telegram.org/blog/shared-links.html index 3adff73c4d..62757b16f7 100644 --- a/data/telegram.org/blog/shared-links.html +++ b/data/telegram.org/blog/shared-links.html @@ -47,7 +47,10 @@
    Recent News
    @@ -114,7 +114,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/silent-messages-slow-mode.html b/data/telegram.org/blog/silent-messages-slow-mode.html index 810c01cf97..0f6c2a302b 100644 --- a/data/telegram.org/blog/silent-messages-slow-mode.html +++ b/data/telegram.org/blog/silent-messages-slow-mode.html @@ -47,7 +47,10 @@
    Recent News
    @@ -189,7 +189,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/stickers-meet-art-and-history.html b/data/telegram.org/blog/stickers-meet-art-and-history.html index b681d9f4bf..01b6263b23 100644 --- a/data/telegram.org/blog/stickers-meet-art-and-history.html +++ b/data/telegram.org/blog/stickers-meet-art-and-history.html @@ -47,7 +47,10 @@
    Recent News
    @@ -231,7 +231,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/stickers-revolution.html b/data/telegram.org/blog/stickers-revolution.html index ea21692036..78df9f4e6f 100644 --- a/data/telegram.org/blog/stickers-revolution.html +++ b/data/telegram.org/blog/stickers-revolution.html @@ -47,7 +47,10 @@
    Recent News
    @@ -124,7 +124,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/stickers.html b/data/telegram.org/blog/stickers.html index d5dd3eb7e6..cd5d517c2a 100644 --- a/data/telegram.org/blog/stickers.html +++ b/data/telegram.org/blog/stickers.html @@ -47,7 +47,10 @@
    Recent News
    @@ -118,7 +118,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/supergroups.html b/data/telegram.org/blog/supergroups.html index 1949ef0b1c..99d6f61137 100644 --- a/data/telegram.org/blog/supergroups.html +++ b/data/telegram.org/blog/supergroups.html @@ -47,7 +47,10 @@
    Recent News
    @@ -144,7 +144,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/supergroups5k.html b/data/telegram.org/blog/supergroups5k.html index 99dce7f45c..05b9c9b747 100644 --- a/data/telegram.org/blog/supergroups5k.html +++ b/data/telegram.org/blog/supergroups5k.html @@ -47,7 +47,10 @@
    Recent News
    @@ -125,7 +125,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/tdlib.html b/data/telegram.org/blog/tdlib.html index 84c2798734..5f94d83590 100644 --- a/data/telegram.org/blog/tdlib.html +++ b/data/telegram.org/blog/tdlib.html @@ -47,7 +47,10 @@
    Recent News
    @@ -121,7 +121,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/telegram-5-ios.html b/data/telegram.org/blog/telegram-5-ios.html index 038a650e67..2e8cd008fa 100644 --- a/data/telegram.org/blog/telegram-5-ios.html +++ b/data/telegram.org/blog/telegram-5-ios.html @@ -47,7 +47,10 @@
    Recent News
    @@ -161,7 +161,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/telegram-me-change-number-and-pfs.html b/data/telegram.org/blog/telegram-me-change-number-and-pfs.html index c47af19952..51585d8483 100644 --- a/data/telegram.org/blog/telegram-me-change-number-and-pfs.html +++ b/data/telegram.org/blog/telegram-me-change-number-and-pfs.html @@ -47,7 +47,10 @@
    Recent News
    @@ -121,7 +121,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/telegram-x.html b/data/telegram.org/blog/telegram-x.html index c02da569d9..0030dd1950 100644 --- a/data/telegram.org/blog/telegram-x.html +++ b/data/telegram.org/blog/telegram-x.html @@ -47,7 +47,10 @@
    Recent News
    @@ -155,7 +155,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/telegraph.html b/data/telegram.org/blog/telegraph.html index 05be41d84e..cffa87ca70 100644 --- a/data/telegram.org/blog/telegraph.html +++ b/data/telegram.org/blog/telegraph.html @@ -47,7 +47,10 @@
    Recent News
    @@ -131,7 +131,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/themes-accounts.html b/data/telegram.org/blog/themes-accounts.html index c7de83708e..e15fa7f25c 100644 --- a/data/telegram.org/blog/themes-accounts.html +++ b/data/telegram.org/blog/themes-accounts.html @@ -47,7 +47,10 @@
    Recent News
    @@ -140,7 +140,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/translations-iv2.html b/data/telegram.org/blog/translations-iv2.html index 1e38ac72e5..f5e7b11d9f 100644 --- a/data/telegram.org/blog/translations-iv2.html +++ b/data/telegram.org/blog/translations-iv2.html @@ -47,7 +47,10 @@
    Recent News
    @@ -169,7 +169,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/trending-stickers.html b/data/telegram.org/blog/trending-stickers.html index 0d5d66cbb4..9da607eea8 100644 --- a/data/telegram.org/blog/trending-stickers.html +++ b/data/telegram.org/blog/trending-stickers.html @@ -47,7 +47,10 @@
    Recent News
    @@ -155,7 +155,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/unread-replace-2x.html b/data/telegram.org/blog/unread-replace-2x.html index ce92e56971..f31329b575 100644 --- a/data/telegram.org/blog/unread-replace-2x.html +++ b/data/telegram.org/blog/unread-replace-2x.html @@ -47,7 +47,10 @@
    Recent News
    @@ -152,7 +152,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/unsend-and-usage.html b/data/telegram.org/blog/unsend-and-usage.html index 603775c483..df6f3cb25e 100644 --- a/data/telegram.org/blog/unsend-and-usage.html +++ b/data/telegram.org/blog/unsend-and-usage.html @@ -47,7 +47,10 @@
    Recent News
    @@ -166,7 +166,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/unsend-privacy-emoji.html b/data/telegram.org/blog/unsend-privacy-emoji.html index dc2922ecd2..96c484a783 100644 --- a/data/telegram.org/blog/unsend-privacy-emoji.html +++ b/data/telegram.org/blog/unsend-privacy-emoji.html @@ -47,7 +47,10 @@
    Recent News
    @@ -150,7 +150,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/usernames-and-secret-chats-v2.html b/data/telegram.org/blog/usernames-and-secret-chats-v2.html index 57d3d6cee7..bc053b69d2 100644 --- a/data/telegram.org/blog/usernames-and-secret-chats-v2.html +++ b/data/telegram.org/blog/usernames-and-secret-chats-v2.html @@ -47,7 +47,10 @@
    Recent News
    @@ -115,7 +115,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/verifiable-apps-and-more.html b/data/telegram.org/blog/verifiable-apps-and-more.html index 832e46a032..56b1b7562c 100644 --- a/data/telegram.org/blog/verifiable-apps-and-more.html +++ b/data/telegram.org/blog/verifiable-apps-and-more.html @@ -47,7 +47,10 @@
    Recent News
    @@ -285,7 +285,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/video-calls.html b/data/telegram.org/blog/video-calls.html index 50a14936b5..8d064bb09c 100644 --- a/data/telegram.org/blog/video-calls.html +++ b/data/telegram.org/blog/video-calls.html @@ -47,7 +47,10 @@
    Recent News
    @@ -125,7 +125,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/video-editor-gifs.html b/data/telegram.org/blog/video-editor-gifs.html index 6d94998b32..88af3b4079 100644 --- a/data/telegram.org/blog/video-editor-gifs.html +++ b/data/telegram.org/blog/video-editor-gifs.html @@ -47,7 +47,10 @@
    Recent News
    @@ -145,7 +145,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/video-messages-and-telescope.html b/data/telegram.org/blog/video-messages-and-telescope.html index 932906c69a..aa468b88be 100644 --- a/data/telegram.org/blog/video-messages-and-telescope.html +++ b/data/telegram.org/blog/video-messages-and-telescope.html @@ -47,7 +47,10 @@
    Recent News
    @@ -140,7 +140,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/voice-2-secret-3.html b/data/telegram.org/blog/voice-2-secret-3.html index f8df2176e9..02cbb51dad 100644 --- a/data/telegram.org/blog/voice-2-secret-3.html +++ b/data/telegram.org/blog/voice-2-secret-3.html @@ -47,7 +47,10 @@
    Recent News
    @@ -138,7 +138,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/voice-chats-on-steroids.html b/data/telegram.org/blog/voice-chats-on-steroids.html index 2982060a71..89bc712c66 100644 --- a/data/telegram.org/blog/voice-chats-on-steroids.html +++ b/data/telegram.org/blog/voice-chats-on-steroids.html @@ -47,7 +47,10 @@
    Recent News
    @@ -166,7 +166,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/voice-chats.html b/data/telegram.org/blog/voice-chats.html index 3da0a0007f..29f7c4ecd1 100644 --- a/data/telegram.org/blog/voice-chats.html +++ b/data/telegram.org/blog/voice-chats.html @@ -47,7 +47,10 @@
    Recent News
    @@ -202,7 +202,14 @@ Other News
    -
    diff --git a/data/telegram.org/blog/winter-contest-ends.html b/data/telegram.org/blog/winter-contest-ends.html index 6558cc9360..9adb1891a2 100644 --- a/data/telegram.org/blog/winter-contest-ends.html +++ b/data/telegram.org/blog/winter-contest-ends.html @@ -47,7 +47,10 @@
    Recent News
    @@ -117,7 +117,14 @@ DC 5: Other News
    -
    diff --git a/data/telegram.org/template31.html b/data/telegram.org/template31.html index 3f4d942125..69c3ca6faa 100644 --- a/data/telegram.org/template31.html +++ b/data/telegram.org/template31.html @@ -48,15 +48,15 @@
    Recent News
    @@ -109,20 +109,20 @@ Recent News
    -
    diff --git a/data/telegram.org/what-can-you-do-with-Telegram.html b/data/telegram.org/what-can-you-do-with-Telegram.html index 3f4d942125..69c3ca6faa 100644 --- a/data/telegram.org/what-can-you-do-with-Telegram.html +++ b/data/telegram.org/what-can-you-do-with-Telegram.html @@ -48,15 +48,15 @@
    Recent News
    @@ -109,20 +109,20 @@ Recent News
    -
    chat_idIntegerInteger or String YesUnique identifier for the target private chatUnique identifier for the target chat or username of the target channel (in the format @channelusername)
    titlePayments provider token, obtained via Botfather
    start_parameterStringYesUnique deep-linking parameter that can be used to generate this invoice when used as a start parameter
    currency String YesPrice breakdown, a JSON-serialized list of components (e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.)
    max_tip_amountIntegerOptionalThe 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
    suggested_tip_amountsArray of IntegerOptionalA 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.
    start_parameterStringOptionalUnique 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
    provider_data String Optional