Kripto ödemeli Telegram VPN botu
VPN aboneliklerini kripto ile satan, kendi sunucunuzda çalışan bir Telegram botu. Müşteri sohbette bir paket seçer ve SnapEX Pay sayfasında öder (TRC20, ERC20, BEP20, Solana, TON veya başka bir ağda USDT; SnapEX o tutar için sunduğunda başka kripto paralar da). Ödeme onaylandıktan sonra bot Marzban, 3x-ui veya Remnawave panelinizde kullanıcıyı oluşturur ya da uzatır ve abonelik linkini aynı sohbete gönderir.
Ücretsiz. Sürüm 1.1.0.
Ne yapar
- Cüzdan ya da blockchain node'u çalıştırmanız gerekmez: para SnapEX Pay üye işyeri bakiyenize düşer.
/startpaketlerinizi düğme olarak gösterir; her dokunuş bir SnapEX Pay faturası oluşturur ve ödeme düğmesiyle yanıt verir.- Marzban, 3x-ui (hem 3.1+ clients API'si hem eski inbound API'si) ve Remnawave 2.x ile 3.x desteklenir.
PANEL_TYPE=noneayarında bot yalnızca ödemeyi onaylar, erişimi siz kendiniz verirsiniz. - İmzalı webhook (HMAC-SHA256, 5 dakikalık zaman aralığı); fatura SnapEX Pay API'sinden yeniden okunur ve yalnızca ödenmişse ve botun oluşturduğu bir siparişle eşleşiyorsa işlenir. Tekrarlanan gönderimler bir faturayı bir kez işler.
- Yenileme: geri dönen müşteri (aynı Telegram hesabı) mevcut bitiş tarihinden, tarih geçmişse şu andan itibaren uzatılır; trafik limitli bir paket yeni bir kotayla başlar.
- Long polling kullanan tek konteyner, bu yüzden yalnızca webhook portunun erişilebilir olması gerekir. Siparişler, paketin bir kopyasıyla birlikte SQLite'ta tutulur.
Kurulum
- SnapEX Pay üye işyeri panelinde
invoices.readveinvoices.writeyetkilerine sahip bir API anahtarı oluşturun. - Arşivi indirip açın,
cp .env.example .envkomutunu çalıştırın ve bot token'ını, SnapEX Pay anahtarını,PANEL_TYPE(marzban,3xui,remnawaveveyanone), panel giriş bilgilerini vePLANSdeğerini ayarlayın. - Başlatın:
docker compose up -d --build, ardındandocker compose logs -f botile izleyin. - Bot
8080portunu (/webhookve/health) dinler. Onu Caddy veya nginx gibi TLS'li bir ters proxy'nin arkasına koyun. - SnapEX Pay panelinin “Geliştiriciler” bölümünde webhook URL'sini
https://<your bot host>/webhookolarak ayarlayın,whsec_…gizli anahtarını (yalnızca bir kez, URL ilk kaydedildiğinde gösterilir)SNAPEX_WEBHOOK_SECRETdeğişkenine yazın ve yeniden başlatın. Bota/startgönderin veSNAPEX_ENVIRONMENT=testile bir paketi test edin.
Ayarlar
| TELEGRAM_BOT_TOKEN, SHOP_NAME | @BotFather'dan alınan bot token'ı; /start mesajında ve fatura açıklamasında görünen mağaza adı. |
|---|---|
| SNAPEX_API_KEY, SNAPEX_WEBHOOK_SECRET | Üye işyeri API anahtarı (invoices.read, invoices.write) ve webhook gizli anahtarı (whsec_…). |
| SNAPEX_ENVIRONMENT, SNAPEX_FEE_ON | live veya test faturalar; SnapEX komisyonunu kimin ödediği — merchant veya customer. |
| PANEL_TYPE | marzban, 3xui, remnawave veya none ve o panelin giriş bilgileri. |
| PLANS | Virgülle ayrılmış id:days:price_usd:traffic_bytes; 0 bayt = sınırsız. |
| SNAPEX_PARTNER_ID | İsteğe bağlı: modülü kuran entegratörün Partner ID'si (SnapEX Pay referans programı). Modülü kendiniz kurduysanız boş bırakın. |
Sorular
Bot hangi panelleri destekliyor?
Marzban, 3x-ui (MHSanaei, her iki API sürümü) ve Remnawave 2.x ile 3.x. PANEL_TYPE=none ayarında yalnızca ödeme alır.
Müşteri bir VPN kullanıcısıyla nasıl eşleştirilir?
Paneldeki kullanıcı adı tg<telegram_id> biçimindedir; böylece her Telegram hesabı tam olarak bir VPN kullanıcısına karşılık gelir ve tekrar ödeme onu uzatır.
Fiyatları sonra değiştirirsem ne olur?
Siparişler paketin bir kopyasını saklar; bu yüzden PLANS değerini düzenlemek zaten ödenmiş siparişleri değiştirmez.
Bir ödeme iki kez işlenebilir mi?
Hayır. Tekrarlanan veya eş zamanlı webhook gönderimleri bir faturayı bir kez işler ve düğmeye her dokunuş kendi faturasını oluşturur.
Sunucuda Telegram için açık bir port gerekiyor mu?
Hayır. Bot long polling kullanır; SnapEX Pay için yalnızca HTTPS arkasındaki webhook portunun erişilebilir olması gerekir.
Diğer entegrasyonlar
Kripto ile ödeme almaya hazır mısınız?
Üye işyeri hesabı oluşturun, API anahtarı alın ve modülü bağlayın. Ödeme başına %1 komisyon, aylık ücret yok.