Telegram

Telegram Botuna Kripto Ödeme Ekleme: Abonelik ve Dijital Ürün Satışı için Rehber

KriptoGo Ekibi··4 dk okuma

Telegram botları abonelik, özel kanal erişimi, dijital dosya ve danışmanlık satmak için güçlü bir kanal. Kripto ödeme eklemek, botunuzu dünyanın her yerinden ödeme alabilen bir mağazaya dönüştürür. Bu rehber akışı baştan sona kurar.

Neden Telegram + kripto?

Telegram'da satış yapan botların tipik ürünleri dijitaldir: VIP kanal üyeliği, sinyal grubu, eğitim içeriği, yazılım lisansı, dosya indirme. Bu ürünlerin ortak özelliği anında teslim edilebilmeleridir. Kripto ödeme de anında kesinleşir. İkisi bir araya geldiğinde tamamen otomatik bir satış makinesi kurulur: kullanıcı öder, bot saniyeler içinde erişimi açar, siz uyurken de satış olur.

Kart ödemelerine kıyasla avantajlar: ülke sınırı yok, ters ibraz (chargeback) yok, banka tarafından "yüksek riskli" sayılan dijital ürünler için hesap kapatma korkusu yok. USDT kullandığınızda fiyat oynaklığı da yok.

Ödeme akışı

  1. Kullanıcı bota /satinal yazar veya bir ürün düğmesine basar.
  2. Botunuzun sunucusu KriptoGo'dan bir fatura oluşturur ve invoice_id ile kullanıcının chat_id değerini veritabanına eşler.
  3. Bot, kullanıcıya "Ödemeye git" inline düğmesiyle ödeme sayfası bağlantısını gönderir. İsterseniz adresi ve tutarı da mesajda gösterirsiniz.
  4. Kullanıcı cüzdanından ödemeyi yapar.
  5. KriptoGo webhook'u tetiklenir; botunuz invoice_id üzerinden chat_id'yi bulur ve ürünü teslim eder: kanala davet bağlantısı, dosya, lisans anahtarı.

Kurulum adımları

  • KriptoGo panelinde hesap açın, proje türü olarak Telegram bot seçin ve onay alın. Alan adı doğrulaması için botunuzun tanıtım sayfası ya da web sitenizi kullanabilirsiniz.
  • KRIPTOGO_API_KEY, KRIPTOGO_SECRET_KEY ve TELEGRAM_BOT_TOKEN değerlerini ortam değişkeni olarak saklayın.
  • Botunuzun çalıştığı sunucuda dışarıya açık bir HTTPS webhook ucu hazırlayın (örneğin https://bot.siten.com/kriptogo-webhook). KriptoGo yalnızca herkese açık https adreslerine bildirim gönderir.

Node.js örneği

Aşağıdaki örnek telegraf kütüphanesi ve Express kullanır; mantık diğer kütüphanelerde aynıdır.

bot.js
const { Telegraf, Markup } = require('telegraf');
const express = require('express');
const crypto  = require('crypto');
const bot = new Telegraf(process.env.TELEGRAM_BOT_TOKEN);
const app = express();

// 1) Satın alma komutu → fatura oluştur
bot.command('satinal', async (ctx) => {
  const r = await fetch('https://kriptogo.com/api/create-invoice', {
    method: 'POST', headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ apiKey: process.env.KRIPTOGO_API_KEY, amount: 15,
      callbackUrl: 'https://bot.siten.com/kriptogo-webhook' })
  });
  const inv = await r.json();
  await db.orders.insert({ invoiceId: inv.invoice_id, chatId: ctx.chat.id, status: 'pending' });
  await ctx.reply(
    `Aylık VIP üyelik: 15 USDT (TRC-20)\nÖdeme 10 dakika içinde yapılmalı.`,
    Markup.inlineKeyboard([
      [Markup.button.url('Ödemeye git', inv.checkout_url)],
      [Markup.button.callback('Ödemeyi kontrol et', `chk:${inv.invoice_id}`)]
    ])
  );
});

// 2) Kullanıcı "kontrol et" derse durumu sor (herkese açık uç, anahtar gerekmez)
bot.action(/^chk:(.+)$/, async (ctx) => {
  const s = await (await fetch(`https://kriptogo.com/api/status/${ctx.match[1]}`)).json();
  await ctx.answerCbQuery(s.status === 'PAID' ? 'Ödeme alındı ✔' : 'Henüz ödeme görünmüyor');
});

// 3) Webhook → imzayı doğrula, ürünü teslim et
app.use('/kriptogo-webhook', express.json({ verify: (req, _r, buf) => { req.rawBody = buf.toString('utf8'); } }));
app.post('/kriptogo-webhook', async (req, res) => {
  const expected = crypto.createHmac('sha256', process.env.KRIPTOGO_SECRET_KEY).update(req.rawBody).digest('hex');
  const got = req.get('X-Kriptogo-Signature') || '';
  if (got.length !== expected.length || !crypto.timingSafeEqual(Buffer.from(got), Buffer.from(expected)))
    return res.status(401).end();
  res.sendStatus(200);

  const { invoice_id, status } = req.body;
  const order = await db.orders.findOne({ invoiceId: invoice_id });
  if (!order || order.status === 'paid' || status !== 'PAID') return;   // idempotent
  await db.orders.update(order.id, { status: 'paid', paidAt: new Date() });

  const invite = await bot.telegram.createChatInviteLink(process.env.VIP_CHANNEL_ID, { member_limit: 1, expire_date: Math.floor(Date.now()/1000) + 3600 });
  await bot.telegram.sendMessage(order.chatId, `Ödemen alındı. VIP kanala katıl: ${invite.invite_link}`);
});

bot.launch(); app.listen(3000);

Otomatik teslimat ve abonelik

Tek kullanımlık davet bağlantısı (member_limit: 1, kısa expire_date) kullanın; böylece bağlantı paylaşılamaz. Abonelik satıyorsanız sipariş kaydına bitiş tarihi yazın ve günlük çalışan bir görevle süresi dolan üyeleri kanaldan çıkarın (banChatMember + unbanChatMember). Bitişten birkaç gün önce bot kullanıcıya hatırlatma gönderip yeni bir fatura oluşturabilir.

Dijital dosya satıyorsanız dosyayı webhook geldikten sonra sendDocument ile iletin. Lisans anahtarı satıyorsanız anahtarı ödeme sonrasında üretin; önceden üretilmiş anahtarları mesajda göstermeyin.

Kullanıcı deneyimi ipuçları

  • Fiyatı ve ağı aynı mesajda yazın: "15 USDT · TRON (TRC-20)".
  • 10 dakikalık süreyi belirtin; süre dolduysa "Yeni fatura oluştur" düğmesi sunun.
  • Ödeme sayfası bağlantısı yanında adresi de metin olarak verin; mobil cüzdanlar Telegram'dan kopyalanan adresi kolayca yapıştırır.
  • Ödeme algılandığında botun proaktif mesaj göndermesi güven verir; kullanıcıyı sürekli "kontrol et" düğmesine basmaya zorlamayın.

Güvenlik

  • Fatura tutarını komuttan değil, kendi ürün listenizden alın.
  • Webhook imzasını mutlaka doğrulayın; invoice_id ile chat_id eşleşmesini yalnızca kendi veritabanınızdan kurun.
  • Bot token'ı ve KriptoGo anahtarlarını koda yazmayın.
  • Aynı invoice_id için ikinci webhook geldiğinde ikinci kez davet bağlantısı üretmeyin.

Telegram botları için kullanım senaryosu sayfamıza da göz atın: Telegram bot için kripto ödeme. Sitesini yapay zeka ile yapanlar, panelde "Telegram botu" seçerek hazır bir kurulum promptu alabilir.

Mevzuat notuKripto varlıkların ödemelerde kullanımı ülkeden ülkeye farklı düzenlenir; Türkiye'de de bu konuda kısıtlayıcı düzenlemeler vardır. Bu yazı teknik bir rehberdir, hukuki veya vergisel danışmanlık değildir. Faaliyetinizin bulunduğunuz ülke mevzuatına uygunluğunu bir uzmana danışarak doğrulayın.

Sık sorulan sorular

Telegram'ın kendi ödeme sistemi varken neden kripto?

Telegram Payments kart ödemeleri için üçüncü taraf sağlayıcılara bağlıdır ve her ülkede/kategoride çalışmaz. Kripto ödeme ülke sınırı tanımaz, ters ibraz riski taşımaz ve dijital ürünler için hesap kapatma sorunu yaşatmaz.

Kullanıcı ödemeyi yaptıktan sonra ne kadar sürede erişim alır?

TRON ağında ödeme genellikle bir dakikanın altında kesinleşir. KriptoGo zinciri 30 saniyede bir tarar; webhook geldiği an botunuz erişimi açabilir.

Webhook için sunucum yoksa?

Botunuzu çalıştıran sunucu zaten vardır; aynı sunucuda bir HTTPS ucu açmanız yeterli. Alternatif olarak bot, kullanıcı 'kontrol et' dediğinde GET /api/status/:id ucunu sorgulayabilir; ancak webhook otomatik teslimat için önerilen yoldur.

Aynı kullanıcı birden fazla ürün alabilir mi?

Evet. Her satın alma ayrı bir fatura ve ayrı bir invoice_id üretir; bunları kullanıcının chat_id'si ile eşleyerek istediğiniz kadar ürün satabilirsiniz.

KriptoGo ile 30 dakikada kripto ödeme al

Kurulum ücreti yok, aylık ücret yok. Yalnızca başarılı tahsilattan %1.

Ücretsiz hesap oluştur