Skip to content

Tribute Setup

Tribute provides recurring subscription management through Telegram with automatic renewals.

⚠️ You must have a public domain with valid SSL certificate (e.g., bot.example.com). Webhooks will NOT work on localhost or private IPs.

  1. Create Tribute Channel

    • Open Tribute app on Telegram
    • Create a channel
    • In “Channels and Groups” → Add your channel
    • Create new subscription
  2. Get Subscription Link

    • In Tribute: Subscription → Links
    • Copy “Telegram Link”
    • Should look like: https://t.me/tribute/app?startapp=...
  3. Configure Environment

    Terminal window
    TRIBUTE_WEBHOOK_URL=/tribute/webhook
    TRIBUTE_API_KEY=your_api_key_from_tribute
    TRIBUTE_PAYMENT_URL=https://t.me/tribute/app?startapp=...
    HEALTH_CHECK_PORT=8080
  4. Setup Reverse Proxy

    Configure Nginx or Traefik to forward HTTPS requests to bot:8080

    server {
    server_name bot.example.com;
    listen 443 ssl;
    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;
    location / {
    proxy_pass http://localhost:8080;
    }
    }
  5. Restart Bot

    Terminal window
    docker compose down && docker compose up -d
  6. Test Webhook

    Terminal window
    curl https://bot.example.com/tribute/webhook
  1. User clicks payment button
  2. Redirected to Tribute subscription page
  3. User completes Telegram subscription
  4. Tribute sends webhook to your bot
  5. Bot activates subscription for user
VariableDescription
TRIBUTE_WEBHOOK_URLWebhook path (e.g., /tribute/webhook)
TRIBUTE_API_KEYAPI key from Tribute settings
TRIBUTE_PAYMENT_URLSubscription link from Tribute
HEALTH_CHECK_PORTPort for webhook (usually 8080)
  1. Open Tribute app
  2. Settings → API Settings
  3. Create new API key
  4. Copy and paste in .env
Terminal window
# Using Certbot with Nginx
sudo certbot certonly --standalone -d bot.example.com
  • Tribute Help: In-app support
  • Telegram Communities: Crypto payment groups