Payment services for accepting payments in Telegram
Telegram offers multiple ways to accept payments directly within chats and channels, ranging from the built-in Telegram Payments API (supporting providers like Stripe, YooKassa, and others) to third-party bots and services that handle subscriptions, digital goods, and donations. The best choice depends on your business model, geography, and the type of products or services you sell.
How Telegram Payments Work
Telegram introduced its Payments 2.0 platform, allowing merchants and channel owners to accept credit card payments without leaving the app. The system acts as an intermediary — Telegram itself does not process payments or store card details. Instead, it connects buyers with payment providers who handle the actual transaction.
When a user clicks a payment button in a Telegram message, a native payment form opens inside the app. The user enters their card details (or uses saved credentials), and the payment provider processes the charge. The merchant receives a confirmation via the Bot API.
Supported Payment Providers
Telegram supports several payment providers depending on the region:
- Stripe — available in 40+ countries, supports cards and Apple Pay/Google Pay
- YooKassa (formerly Yandex.Checkout) — popular in Russia and CIS countries
- Sberbank — for Russian merchants
- Tranzzo — Ukraine-focused provider
- Payme and Click — for Uzbekistan
- LiqPay — another option for Ukrainian businesses
- Robokassa — multi-acquirer gateway for Russia
The full list of supported providers is available in the Telegram Bot Payments documentation. Availability varies by country and may change over time.
Setting Up Native Telegram Payments
Step 1: Create a Payment Bot
You need a Telegram bot to accept payments. Open @BotFather, create a new bot (or select an existing one), and send the /mybots command. Select your bot, then choose Payments to connect a payment provider.
Step 2: Connect a Payment Provider
BotFather will show you a list of available providers. Select one and follow the instructions to obtain API credentials. For example, with Stripe, you will need to create a Stripe account and link it by entering your Stripe token.
Step 3: Send an Invoice
Use the Bot API method sendInvoice to create a payment button in your chat or channel. The invoice includes:
- Title and description of the product
- Price in the smallest currency unit (e.g., cents for USD)
-
Currency (ISO 4217 code like
USD,EUR,RUB) - Payload — an internal identifier for your records
Step 4: Handle Payment Confirmation
When a user completes the payment, your bot receives a pre_checkout_query (which you must answer within 10 seconds) and then a successful_payment message. Use these callbacks to fulfill the order — grant access, send a file, or confirm a subscription.
Third-Party Payment Services and Bots
Beyond the native Payments API, several third-party services specialize in monetizing Telegram channels and groups.
Donation and Tip Services
- @donate (Telegram's official bot) — enables channel owners to accept donations via Telegram Stars or traditional payments. Supports recurring donations and one-time tips.
- Buy Me a Coffee / Ko-fi — external platforms that can be linked from channel posts or bio. Not native to Telegram but widely used by content creators.
Subscription Management Bots
- @InviteMemberBot — one of the most popular solutions for paid subscriptions to private channels and groups. It handles access control, recurring billing, trial periods, and payment reminders. Supports multiple payment methods including cards, crypto, and local providers.
- @AccessGrantBot — similar functionality for selling access to private channels with automatic invite link management.
- @PaylinkBot — creates payment links that can be shared in posts, allowing one-time or recurring charges.
Digital Goods and Courses
- Tribute — a platform designed for selling digital products, courses, and consultations through Telegram bots.
- Lava.top — allows creators to sell digital products, subscriptions, and memberships with a Telegram-native checkout experience.
- Prodamus — popular in the Russian market for accepting payments for online courses, webinars, and digital content with automatic delivery via Telegram.
Telegram Stars
Telegram Stars is the platform's built-in virtual currency. Users purchase Stars through the App Store or Google Play, and channel owners can receive Stars as payment for digital goods and services. Stars can later be converted to Toncoins or withdrawn via Fragment. This is particularly useful because it bypasses the need for external payment providers entirely.
Crypto Payment Options
Telegram has deep integration with the TON blockchain ecosystem:
- @wallet — Telegram's built-in crypto wallet supporting TON, USDT, and Bitcoin. Users can send payments peer-to-peer or pay merchants directly.
- @CryptoBot — a popular bot for sending and receiving crypto payments. Merchants can create invoices in multiple cryptocurrencies, and the bot handles conversion.
- TON Connect — allows decentralized apps (dApps) to connect with users' TON wallets for Web3 payments.
These options are especially relevant for international transactions where traditional payment providers have geographic restrictions.
Choosing the Right Service
Use Case Recommended Solution One-time digital product sales Native Telegram Payments (Stripe/YooKassa) Paid channel subscriptions @InviteMemberBot or @donate Donations and tips @donate or Telegram Stars International audience, no local provider Telegram Stars or @CryptoBot Courses and educational content Prodamus, Lava.top, or Tribute Recurring SaaS-style billing Native Payments API with custom bot logicWhen running a public channel, services like tgchannel.space can help you establish a web presence for your Telegram content, making it easier to attract new subscribers who may later convert into paying customers through any of these payment methods.
Tips & Best Practices
- Start with Telegram Stars if you are unsure which provider to choose — it requires zero setup, works globally, and Apple/Google handle the payment processing.
- Always test payments in test mode before going live. Both Stripe and YooKassa provide sandbox environments. BotFather lets you connect test provider tokens specifically for this purpose.
- Display prices clearly before the payment button. Users are more likely to complete a purchase when they know the exact amount upfront rather than discovering it in the payment form.
- Offer multiple payment methods where possible. A channel with an international audience benefits from having both card payments and crypto options available.
- Automate delivery immediately. Whether it is access to a private channel, a downloadable file, or premium content — the value should be delivered within seconds of payment confirmation. Delays lead to refund requests and lost trust.
-
Keep records of all transactions using the
payloadfield in invoices. This makes it easier to handle disputes, issue refunds, and track revenue by product.
Common Mistakes
Mistake 1: Not responding to pre_checkout_query in time
Why it's wrong: Telegram requires your bot to answer the pre-checkout query within 10 seconds. If your server is slow or the handler is missing, the payment silently fails and the user sees an error.
How to avoid: Ensure your webhook endpoint is fast and always responds to pre-checkout queries, even if you need to do additional processing asynchronously afterward.
Mistake 2: Using only one payment method for a global audience
Why it's wrong: A channel with subscribers from 20+ countries will lose conversions if the only option is a Russia-specific provider like YooKassa, or vice versa.
How to avoid: Analyze your audience geography (Telegram channel statistics show top countries) and connect providers that cover your main markets. Combine native payments with Stars for maximum reach.
Mistake 3: Ignoring refund handling
Why it's wrong: Payment providers and app stores have refund policies. If you do not handle refunds programmatically — for example, revoking access to a paid channel after a refund — you end up giving away content for free.
How to avoid: Implement webhook handlers for refund events from your payment provider and automate access revocation.
Mistake 4: Hardcoding prices without considering fees
Why it's wrong: Each provider takes a commission (Stripe: ~2.9% + $0.30, Telegram Stars: 0% from Telegram but Apple/Google take up to 30% from Star purchases). If you set prices without accounting for fees, your margins shrink unexpectedly.
How to avoid: Calculate net revenue per transaction for each provider and adjust pricing accordingly.
Frequently Asked Questions
Does Telegram take a commission on payments?
Telegram itself takes 0% commission on payments processed through the Bot Payments API. However, the connected payment provider (Stripe, YooKassa, etc.) charges its own processing fees. For Telegram Stars, Telegram does not charge a fee, but Apple and Google take their standard app store commission on Star purchases.
Can I accept payments without a bot?
Not through native Telegram Payments — a bot is required to send invoices and process callbacks. However, you can use external payment links (Stripe Payment Links, PayPal.me, etc.) shared as regular messages. Some services like @donate simplify this by providing a ready-made bot interface.
Is it legal to accept payments through Telegram?
Yes, as long as you comply with local regulations regarding online commerce, tax obligations, and consumer protection laws. You must also follow the terms of service of your chosen payment provider. Selling prohibited goods or services will result in account termination by both Telegram and the payment provider.
Can I accept payments in multiple currencies?
Yes. The native Payments API supports all major currencies. You specify the currency when creating an invoice. If you use Telegram Stars, the Star is a universal unit — users buy Stars in their local currency, and you receive Stars regardless of the buyer's location.
How do I issue refunds?
Refunds are processed through your payment provider's dashboard or API, not through Telegram directly. For Telegram Stars, refunds can be issued using the refundStarPayment Bot API method within the platform.