
Once a bot takes orders, the next question is almost always about payment: can people pay right in the chat? They can, and there are several ways to do it. But choose by how you handle money today, not by which option looks more modern.
Below are the payment options for a bot, how the bot should learn that the money has arrived, and the details that surface only after launch.
Three main options
- A link to a payment service page: the bot sends a link, the person pays on a familiar page, and the service tells the bot about the payment
- Payments inside Telegram: the invoice arrives right in the chat, and a payment provider connected to the bot handles the charge
- Manual confirmation: the person pays by transfer or on delivery, and a manager marks the payment in the work chat
Digital goods and services inside Telegram have their own rules, so if you sell access, subscriptions, or files, check them before choosing a method.
Where to start
While orders are few, manual confirmation is perfectly fine for a first version. It needs no contract with a payment service and lets you see how people actually use the bot. More on this approach in the note on the first version of an order bot.
When the manager starts spending noticeable time matching payments, it is time to connect automatic payment. It is easiest to start with the payment service you already use on your site or in your store.
How the bot learns about a payment
The main rule: an order counts as paid only when the payment service has confirmed it, not when the person pressed “I have paid” or sent a screenshot. The service sends the bot a notification, the bot verifies it, and only then changes the order status.
- An order becomes “paid” only on the service’s confirmation
- The amount in the confirmation is checked against the order total
- A repeated notification about the same payment does not create a second order
- The manager sees in the work chat that the order is paid
Receipts, refunds, and disputes
In some countries an online payment requires sending the buyer a receipt. Many payment services can do this themselves, but it has to be switched on and tested. Check the rules for your country before launch.
Think through refunds separately: who issues them, through which interface, and how the buyer finds out. Cancelling an order in the bot should be tied to returning the money, not live apart from it.
Test mode and access
Almost every payment service has a test mode. The bot should be fully checked in it: a successful payment, a decline, an abandoned payment, a refund. Only then switch to live payments.
The contract with the payment service and access to its dashboard should be in your company’s name. The keys for accepting payments live on the server, not in the bot code. If a key reaches outsiders, reissue it right away.
If you are still choosing between a bot and an online store, start with the note on an online store or a Telegram catalog. If you want payments connected to your bot, use the contact form.