August 21, 2022

How does Telegram Payments 2.0 work?

Telegram announced support for payments in April 2021. Payments work using bots and allow sellers - bot owners - to accept payments for goods and services from Telegram users.

One of the main features is that Telegram doesn’t take commission on transactions and doesn’t collect payment information.

Let’s dive into how it works.

Settings up a bot for Payments

To set up your bot to be able to accept payments you need to open a dialog with BotFather, send /mybots command, select your bot and click on “Bot Settings” -> “Payments”.

You will see a list of supported payment providers. The ones that are available in your country are at the top of the list.

Click on the preferred payment provider and follow the steps. I’ll be showing setup with Stripe.

First, it will show 2 options - Test and Live setup. In test setup, only one card is working (4242 4242 4242 4242), which is used for testing purposes.

When you click on one of the options a dialog with Stripe Bot will be launched. Hit “Start” and then Authorize" button. A Stripe login page will be launched in your browser.

Create a Stripe account following the instructions on the screen.

Once you are done, you will be redirected back to BotFather. There you’ll see a message with your payment token. Save it somewhere safe.

Sending invoices

Once your bot has a payment set up, it can send special messages to your users with payment request - invoices. These messages consist of 4 parts:

  • Preview: a small image representing a stuff being sold
  • Title: name of the item being sold
  • Description: a short description
  • Pay button: a special button with a price and a credit card symbol on the right

When a user receiving this invoice message hits a pay button, a checkout dialog is shown repeating a preview image, title, description, and a field where payment method can be filled in.

After payment is successful, users see an info message confirming this.

Additionally, if the invoice was sent to ask for shipping information, a checkout dialog will also ask for an address.

Missing parts

There are things that Telegram doesn’t do to make your bot an actual ecommerce store.

  • You as an owner of the bot cannot send these invoices manually, the bot should do it automatically as a response to a user command. Thus, you need to program the bot to be able to do so.
  • You’ll need an interface to add inventory - items sold, their titles, descriptions, and prices.
  • When user makes a purchase your bot need to notify you and in case of digital goods, send them to your customers.
  • When a user enter shipping information, bot should check that the items could be delivered and don’t accept payment if they couldn’t.

All these features should be implemented by a bot developer, which might be costly. Count in bot hosting and support. Or try out a platform - such as - to do it for you.

Start your own Telegram store bot at

© Alex Smirnov 2022