Telegram Bot Payments: Stars, Stripe, Crypto and More Compared

Eight ways to take money in a Telegram bot, side by side: Stars, Stripe in two setups, crypto, and the options for buyers in Russia. What the buyer pays with, what you keep, how long setup takes, and the Telegram rule that decides most of it.

10 min read·Nov 10, 2026
A Payment block on the FlowCastle canvas with Paid and Not paid exits

"How do I accept payments in my Telegram bot?" is the question we get most from people who have just built one. The answer has more parts than it should: Telegram's own currency, card providers like Stripe, crypto, and a rule in Telegram's terms that most guides skip.

We build a bot platform, so we would like your bot to earn. That is also why this comparison is blunt: every option below has a real downside, and we say which one we would pick for your case.

Short answer: sell digital goods for Telegram Stars, because Telegram requires it. Sell physical goods and services with Stripe. Add crypto if your buyers hold it. Selling to Russia is a separate case with its own tools, covered near the end.

Two ready templates, one for Stars and one for Stripe, are linked at the end.

The rule that decides most of it

Telegram splits everything into two kinds of goods:

  • Digital goods and services: a course, a file, a paid chat, AI credits, a content subscription. Telegram's developer terms (section 6.2) say these must be sold only for Stars, and not through third-party payment providers. A bot that ignores this can get a warning and, after that, be removed from the platform.
  • Physical goods and offline services: a T-shirt, a haircut, a delivery, a consultation in person. Telegram does not process these payments. You connect a provider such as Stripe, and Telegram takes no commission.

So the first question is not "which provider is cheapest". It is "what am I selling". If it is digital, Stars is the default, and everything else is a risk you take with your eyes open.

All options in one table

Fees are as published on November 10, 2026. Check the provider's page before you launch.

OptionBuyer pays withWhat you paySetupYou receiveBest for
Telegram StarsStars, bought in the app or on FragmentYou get ~$0.013 per StarNoneTON via Fragment, after up to 21 daysDigital goods, any country
Stripe in @BotFatherCard, inside Telegram's payment form2.9% + 30¢ in the US, 1.5% + €0.25 for EEA cardsStripe account, token from @BotFatherYour bank accountPhysical goods and services
Stripe Checkout (module)Card, Apple Pay, Google Pay and local methods on Stripe's pageSame card fees, + 0.7% for subscriptionsStripe API key in the moduleYour bank accountSubscriptions, more payment methods, refunds from the bot
Crypto Pay (@CryptoBot)USDT, TON, BTC and other coinsSee the Crypto Pay docsCrypto Pay app tokenCryptoCrypto audiences
TributeCards (RUB, EUR), SBP, Stars, crypto10% + a buyer service feeIdentity check, product approvalCard, bank or @wallet twice a monthCreators with Russian-speaking buyers
lava.topRussian and foreign cards, PayPal8%Passport + selfie, 3 sales before the first payoutCard or USDTCourses and content, RU + abroad
YooKassaRussian cards, YooMoney, SberPay, SBP3.5% + VATRussian company or self-employed statusRussian bank accountBusinesses in Russia
Bank transfer + receiptTransfer to your account0%NoneStraight to youSmall volumes, manual checks

Telegram Stars

Stars are Telegram's in-app currency. Your bot sends an invoice priced in Stars, the buyer confirms it, and Telegram moves the Stars. No provider token, no merchant account, no company needed.

Payment block in FlowCastle set to Telegram Stars, with the price in Stars

What you keep. Telegram pays developers about $0.013 per Star and pays out through Fragment in TON, up to 21 days after the sale. Buyers pay more than that: 100 Stars cost around $2 in the App Store and Google Play, a little less on Fragment. So roughly 65% of what the buyer spends reaches you. That is the price of zero setup and of a payment that never leaves the chat.

Subscriptions. Stars support monthly subscriptions (every 30 days, up to 10,000 Stars), and Telegram renews them for you.

Refunds. Your bot can return Stars to the buyer in full. Telegram also requires every bot that takes Stars to answer the /paysupport command.

The weak spot is the buyer, not you. Someone with zero Stars has to buy them first. That step breaks more often than the payment itself; it gets its own section below.

Docs: Telegram Stars payments. In FlowCastle this is the Payment block with nothing to set up: accepting Stars payments.

Stripe: two ways to connect it

Stripe is the default card processor outside Russia. In a Telegram bot it works in two different ways, and the difference matters more than the fee.

Stripe inside Telegram, through @BotFather

This is Telegram's own payments system. In @BotFather → your bot → Payments, pick Stripe, connect your Stripe account and get a token. The buyer then pays in Telegram's native payment form without leaving the chat.

  • Fees are Stripe's standard ones: 2.9% + 30¢ per card in the US, 1.5% + €0.25 for standard EEA cards. International cards cost 1.5% more, currency conversion 1% more.
  • Test first. @BotFather offers a Stripe test provider. It charges nothing and takes test cards such as 4242 4242 4242 4242. Switch the bot to the live token only when the whole flow works.
  • Limits. One-time payments only: Telegram's invoices have subscriptions for Stars, not for cards. Refunds are done in the Stripe dashboard. And this route is for physical goods and services only, per the rule above.

In FlowCastle, paste the token once in the bot settings and switch the Payment block to Card. The payments guide walks through it.

Stripe is not the only provider in that menu. @BotFather lists 20+ providers for different countries. The FlowCastle Payment block works with any of them, since they all use the same Telegram invoice.

Stripe Checkout, through the Stripe module

The Stripe module skips @BotFather. It creates a Stripe Checkout session through Stripe's API and sends the buyer a button that opens Stripe's payment page. When the buyer pays, Stripe sends the bot a notice (a webhook), and the bot continues: it grants access, sends the file or confirms the order.

What you gain:

  • Subscriptions with cards. Monthly and yearly plans, renewed by Stripe. Stripe Billing adds 0.7% on top of the card fee.
  • More ways to pay. The page shows whatever you enable in Stripe: Apple Pay, Google Pay, Link and local methods in your buyers' countries.
  • Refunds and status checks from the bot. The module can look up a payment or subscription and issue a full or partial refund without opening the dashboard.

What it costs: the buyer leaves Telegram for a web page, and every extra step loses some buyers. Telegram's terms do not mention external checkout pages directly, but the Stars-only rule for digital goods still applies, so treat a Stripe page for a digital product as a risk.

Template: Product Sales with Stripe Checkout: product cards, the buyer's email, a Stripe checkout link and delivery after payment.

Crypto Pay

The Crypto Pay module sends a Pay button through @CryptoBot. The buyer pays in USDT, TON, BTC or another coin without leaving Telegram, and the bot continues once Crypto Pay confirms the payment. You can set the price in dollars or another currency and let the buyer choose the coin.

It suits crypto audiences, and buyers in countries where cards are hard to use. For digital goods, the same Stars rule applies.

Selling to buyers in Russia

Russian bank cards do not work with Stripe or other international processors, and buying Stars is harder for these buyers. Three services fill the gap.

Tribute. Tribute (@tribute) handles paid channels, donations and digital products. Buyers pay with Russian or euro cards, SBP (Russia's instant bank transfer system), Stars or crypto. The costs are on your side: an identity check, a product you create in Tribute and wait to get approved, 10% per sale plus a fee the buyer pays, and payouts twice a month from 3,000 ₽ or €100. In FlowCastle, connect it in Orders → Payments and choose Tribute in the Payment block. Docs: Tribute fees and limits.

lava.top. lava.top sells courses, content and subscriptions in rubles and abroad: Russian cards and SBP, foreign cards, Apple Pay and PayPal. The fee is 8%, no company is needed, and the first payout waits for three sales. There is no lava.top module in FlowCastle yet. Message our support and we'll add one for free. Until then, an HTTP request step can create the invoice through the lava.top API; confirming the payment back in the bot takes extra setup.

YooKassa. The main Russian card processor, for a Russian company or a self-employed person. It works both ways Stripe does: in @BotFather (cards, YooMoney and SberPay inside Telegram, 3.5% + VAT) and as a module with its own payment page, which also takes SBP and handles Russian fiscal receipts. Setup details are in the YooKassa docs.

Bank transfer with a receipt

The oldest method still works: the bot shows your account details, the buyer sends a transfer and a screenshot of the receipt, and you approve it with one tap. No fees, no providers, no paperwork. The cost is your time, because you check every payment by hand.

FlowCastle has this as a template: Manual Payment with Receipt Approval.

How your buyers get Stars

Most failed Stars sales fail at this step, so tell buyers how to do it.

  • In the app: Settings → Telegram Stars → buy a pack. On iPhone and Android this goes through the App Store or Google Play.
  • @PremiumBot: Telegram's official bot sells Stars for a card. It also works for buyers whose cards the app stores reject: in November 2026 we checked it with a Russian card and with SBP.
  • Fragment: buy Stars with TON at fragment.com, usually a little cheaper than the app stores.

The desktop bug. On Telegram Desktop, a buyer with too few Stars who presses Pay gets a "Buy Stars" window. For bots that aren't Telegram's own, buying there fails with "Sorry, the payment form cannot be open" and the error PROVIDER_ACCOUNT_INVALID. It is a known Telegram issue (tdesktop #31262, open since September 2026), not something in your bot. Phones are not affected, and the same buyer can top up in Settings or @PremiumBot and then pay.

Until Telegram fixes it, add one line under every Stars invoice:

Can't buy Stars? Top up in Settings → Telegram Stars or in @PremiumBot, then press Pay again.

Which one to choose

  • Digital product → Stars. Nothing to set up, and it follows Telegram's rule.
  • Physical goods or services, one-time payments → Stripe in @BotFather. The buyer never leaves the chat.
  • Card subscriptions, Apple Pay or Google Pay, refunds from the bot → the Stripe module with Stripe Checkout.
  • Crypto audience → Crypto Pay.
  • Buyers in Russia → Stars plus the top-up line, then Tribute or lava.top as a second button. For a Russian business selling physical goods, YooKassa.
  • A few sales a week and no paperwork → bank transfer with a receipt.

Need a payment service that isn't on this list, or a module that doesn't exist yet? Ask in the support chat: the chat button in the corner of this page, or @flowcastle_bot in Telegram. We add the integration for free.

Start from a template

Sell with Telegram Stars is the default route as a working bot: a product card, a 100-Star invoice, delivery on payment and a retry when the payment fails. Install it, change the price and the copy, and add the top-up line for desktop buyers.

Selling physical goods or subscriptions? Start from Product Sales with Stripe Checkout instead.

telegrampaymentstelegram-starsstripecrypto

Try the template

Everything this guide builds is available as a ready-made flow — clone it and adjust instead of starting from scratch.

Don't want to build it yourself? We'll build it for you →