Why a Stripe Telegram Bot Is the Cleanest Paid Channel Setup
Telegram is the preferred platform for trading signals, crypto communities, insider newsletters, and high-value niche groups. The problem: Telegram has no native payment layer. You can't just "set a price" on a channel. Every paid Telegram community is using a workaround.
The best workaround — and the one that doesn't cost you a platform percentage — is a direct Stripe webhook connected to Telegram's Bot API via n8n. Here's exactly how it works.
How the Stripe Telegram Bot Works
At its core, the integration is simple:
- Member pays via your Stripe checkout link
- Stripe fires a webhook to your n8n instance
- n8n extracts the customer's Telegram user ID from Stripe metadata
- n8n calls Telegram's Bot API to generate an invite link and sends it to the member
- On cancel or failed payment: n8n calls Telegram's API to revoke access
Telegram's Bot API has two relevant methods: createChatInviteLink (creates a one-time or limited invite link) and banChatMember (removes a user from a channel). These are the two endpoints your n8n workflow calls.
Step 1: Create Your Telegram Bot
Open Telegram and message @BotFather. Use /newbot to create a new bot. You'll receive a bot token — save this, you'll use it in every API call. Add the bot to your paid channel as an administrator with "Ban Users" permission (required to kick members on cancellation).
Step 2: Collect Telegram User IDs at Checkout
The integration needs to know who to add to Telegram. The cleanest approach is a Stripe Checkout custom field asking for the buyer's Telegram username. After payment, your n8n workflow can look up the user ID from the username using Telegram's getChat method.
Alternatively, create a post-payment landing page that asks the customer to start a conversation with your bot. This lets the bot capture their user ID directly without the username lookup step.
Step 3: Set Up the n8n Workflow
In n8n, create a webhook-triggered workflow. Configure your Stripe dashboard to send webhook events to your n8n URL. Subscribe to:
- invoice.payment_succeeded → send invite link
- customer.subscription.deleted → call banChatMember (and immediately unban so they can join again if they resubscribe)
- invoice.payment_failed → start dunning sequence, remove after grace period
The invite link should be created as a single-use link with an expiry window. This prevents link sharing.
Step 4: Generate Single-Use Invite Links
When a payment succeeds, generate a unique invite link for that specific member:
POST https://api.telegram.org/bot{TOKEN}/createChatInviteLink
{
"chat_id": "@yourchannel",
"member_limit": 1,
"expire_date": 1234567890
}
Set member_limit: 1 so the link can only be used once. Set an expiry date 24–48 hours out. Send this link to the member via your bot (sendMessage), or embed it in your post-payment email.
Step 5: Handle Cancellations and Failed Payments
When a subscription is cancelled, use banChatMember to remove the user from your channel:
POST https://api.telegram.org/bot{TOKEN}/banChatMember
{
"chat_id": "@yourchannel",
"user_id": 123456789,
"revoke_messages": false
}
Immediately follow with unbanChatMember — this removes them from the channel but allows them to join again in the future if they resubscribe. Without the unban step, they'd be permanently blocked from joining even if they restart their subscription.
For failed payments, trigger the dunning sequence first (3-day grace period, email reminders) before executing the removal.
Using Memberspace or Stripe-Native Alternatives
If you'd rather not touch n8n, there are Telegram-specific services similar to LaunchPass for Discord:
- Telegram Payments — Telegram's built-in payment system. Supports one-time payments but has limited subscription support and restricted payment providers by region.
- Subly — paid Telegram channel management. Handles Stripe subscriptions and channel access. Takes a platform fee.
- Combot Subscriptions — community management tool with subscription support for Telegram.
The custom n8n approach is free (beyond hosting) and handles every edge case. The third-party services are faster to launch but cost you a percentage of revenue long-term.
The Full Setup We Build for Clients
ShipWorkflow builds Stripe-to-Telegram automation for paid channel operators. Full webhook setup, invite link generation, cancellation automation, failed payment recovery, and an admin dashboard to see who's active. Get in touch if you want it running without building it yourself.