Telegram botlarında ödeme alma

Kerem Aydın·13 Temmuz 2026·⏱5 dk

Telegram botunda ödeme, Bot API ve bağlı bir ödeme sağlayıcısı kullanılarak kullanıcıya özel bir fatura (invoice) gönderilerek gerçekleştirilir. Kullanıcı, üçüncü taraf sitelere gitmeden doğrudan mesajlaşma uygulaması içinde faturayı öder ve bot, işlemin başarılı olduğuna dair otomatik olarak bildirim alır. Bunun için bir bot kaydetmeniz, desteklenen bir ödeme sistemi seçmeniz ve benzersiz bir sağlayıcı token'ı almanız gerekir.

Ödeme alma yöntemleri

Telegram'da para almanın iki temel yaklaşımı vardır; seçim, teknik gereksinimlerinize ve hedef kitlenizin coğrafyasına bağlıdır:

  1. Native Payments (Yerleşik Ödemeler). Kullanıcı için en uygun seçenek. Ödeme, Telegram'ın yerel penceresinde (Apple Pay, Google Pay, kayıtlı kartlar) gerçekleşir. Platformla entegrasyonu olan resmi bir ödeme sağlayıcısının (örneğin ЮKassa, Stripe, CloudPayments) bağlanmasını gerektirir.
  2. Ödeme Bağlantıları. Bot, harici bir hizmetin ödeme formuna giden bir bağlantı oluşturur. Kullanıcı, ödeme yapmak için tarayıcıya veya web görünümüne yönlendirilir. Bu yöntem uygulanması daha kolaydır ancak ekstra bir geçiş adımı gerektiği için satın almaktan vazgeçilme riskini artırır.

Çoğu işletme ihtiyacı için, uygulama içi ödeme dönüşüm oranı harici bağlantılara kıyasla çok daha yüksek olduğu için Native Payments kullanılması önerilir.

Adım 1. Kayıt ve sağlayıcı seçimi

İlk olarak aktif bir botunuz olduğundan emin olun. Eğer yoksa, @BotFather üzerinden oluşturun ve aldığınız erişim token'ını saklayın.

Daha sonra bir ödeme sağlayıcısı seçmeniz gerekir. Mevcut sistemlerin listesi, işletmenizin kayıtlı olduğu ülkeye ve işlem yapılan para birimine bağlıdır. Rusça konuşulan segment için popüler seçenekler arasında ЮKassa, Robokassa, CloudPayments ve diğerleri bulunur. Yurtdışı projeler genellikle Stripe veya PayPal kullanır.

Seçtiğiniz ödeme sisteminin kişisel hesabında kayıt olun, tüzel kişi veya bireysel girişimci doğrulamasını tamamlayın ve "Telegram'da Ödeme Alma" modülünü (veya eşdeğerini) etkinleştirin. Sonuç olarak, mağazanızı belirli bir botla ilişkilendiren benzersiz bir anahtar olan Provider Token alacaksınız.

Adım 2. BotFather'da ayarlama

Fatura kesme özelliğini etkinleştirmek için platforma bağlı sağlayıcıyı bildirmeniz gerekir:

  1. @BotFather ile sohbeti açın.
  2. Botunuzu seçin veya /mybots komutunu kullanın.
  3. Payments bölümüne gidin.
  4. Add Provider seçeneğine tıklayın ve daha önce token aldığınız sistemi listeden seçin.
  5. Kopyaladığınız Provider Token'ı yapıştırın.

Başarılı bir şekilde eklendikten sonra botunuz ödeme belgeleri oluşturmaya hazırdır.

Adım 3. Fatura gönderiminin teknik uygulaması

Ödeme süreci sendInvoice yöntemiyle başlatılır. Botunuzun kodunda (Python, Node.js veya başka bir dilde) aşağıdaki zorunlu parametrelerle bir istek oluşturmanız gerekir:

  • title ve description: Ürün adı ve kısa açıklama.
  • payload: Ödeme bildirimiyle birlikte size geri dönecek benzersiz bir veri dizisi (128 bayta kadar). Buraya genellikle dahili veritabanındaki sipariş ID'si yerleştirilir.
  • provider_token: Önceki aşamalarda alınan anahtar.
  • currency: Para birimi kodu (örneğin RUB, USD, EUR).
  • prices: Fiyatları para biriminin alt birimleri (kopeyka, sent) cinsinden içeren ürün dizisi.
  • start_parameter: Kullanıcının faturayı başka birine iletmesini önlemek için derin bağlantı amacıyla kullanılan benzersiz bir dizi.

Ödeme sisteminin gizli anahtarlarını asla doğrudan bot kodunda saklamayın. Hassas verileri korumak için ortam değişkenlerini (.env) kullanın.

Yöntem çağrıldıktan sonra kullanıcı "Öde" düğmesini görecektir. Kart bilgilerini girip işlemi onayladıktan sonra ödeme sistemi operasyonu işleyecektir.

Adım 4. Sonuçların işlenmesi ve ürünün teslim edilmesi

Ödeme başarıyla gerçekleştiğinde, ödeme sistemi sunucusu botunuza pre_checkout_query (tahsilat öncesi onay isteği) ve ardından successful_payment türünde güncellemeler gönderir.

Botun çalışma algoritması şu şekilde olmalıdır:

  1. pre_checkout_query güncellemesini alın.
  2. Ürünün varlığını, fiyatın geçerliliğini ve kullanıcı durumunu kontrol edin.
  3. answerPreCheckoutQuery yöntemini ok=true parametresiyle yanıtlayın. Yanıt false ise veya istek yok sayılırsa ödeme gerçekleşmez.
  4. successful_payment güncellemesini alın.
  5. Bildirimdeki payload değerini veritabanınızdaki verilerle karşılaştırın.
  6. Ürünü teslim edin (kurs erişimini açın, dosya gönderin, aboneliği etkinleştirin) ve müşterinize teşekkür edin.

Güvenlik ve test etme

Gerçek satışlara başlamadan önce mutlaka senaryoyu sandbox modunda (Test Mode) test edin. Çoğu sağlayıcı, kişisel panelde test modunu etkinleştirmenize olanak tanır ve test kart numaraları sağlar.

Temel güvenlik unsurları:

  • HTTPS: Telegram'dan webhook alan sunucu yalnızca güvenli protokol üzerinden çalışmalıdır.
  • Veri doğrulama: Telegram'dan gelen ödeme tutarını her zaman veritabanınızdaki tutarla karşılaştırın. İstemci tarafında değiştirilebilecek fiyata güvenmeyin.
  • Idempotency: Aynı sinyalin tekrar gönderilmesi durumunda ürünün iki kez teslim edilmemesi için bildirimleri buna göre işleyin.

Entegrasyon yöntemlerinin karşılaştırılması

ParametreNative Payments (Fatura)Harici Bağlantı
Dönüşüm OranıYüksek (her şey tek pencerede)Orta (geçiş gerekir)
Kurulum ZorluğuOrta (backend gerekir)Düşük (bağlantı oluşturma)
Apple/Google Pay DesteğiEvetSağlayıcının formuna bağlı
Teslimat OtomasyonuTam (webhook aracılığıyla)Ek mantık gerektirir

Sık yapılan hatalar

  • Yanlış fiyat formatı. Yeni başlayanların en sık yaptığı hata, tutarı ruble yerine kopeyka cinsinden göndermemektir. 100 rublelik tutar 10000 olarak gönderilmelidir.
  • pre_checkout_query'nin yok sayılması. Bot bu isteğe 10 saniye içinde yanıt vermezse, kullanıcı kart bilgilerini girmiş olsa bile banka işlemi iptal eder.
  • payload'in tekrar kullanılması. Benzersiz sipariş tanımlayıcısı her yeni ödeme denemesi için oluşturulmalıdır, aksi takdirde webhook işleme sırasında çakışmalar yaşanabilir.
  • Hata yönetiminin eksikliği. Ödeme banka tarafından reddedilirse, bot sessiz kalmak yerine kullanıcıya bunu düzgün bir şekilde bildirmelidir.

SSS

Botta kripto para kabul edilebilir mi? Telegram'ın yerleşik ödemeleri yalnızca bankacılık ağ geçitleri üzerinden fiat para birimleriyle çalışır. Kripto ödemeler için ödeme bağlantıları oluşturan veya Telegram içinde kendi mini uygulamalarını yaratan üçüncü taraf hizmetler kullanılmalıdır.

Telegram ödemelerden komisyon alıyor mu? Hayır, platform işlemlerden yüzde almaz. Komisyonu sadece seçtiğiniz ödeme sağlayıcı kendi tarifelerine göre keser.

Gerekli sağlayıcı BotFather listesinde yoksa ne yapmalı? Liste sürekli güncellenmektedir. Partneriniz listede yoksa, web arayüzü olan herhangi bir banka veya agregatörün desteklediği Ödeme Bağlantısı (Payment Link) oluşturma yöntemini kullanın.

Para iadesi nasıl yapılır? Para iadesi yalnızca ödeme sisteminizin kişisel paneli üzerinden yapılır. Telegram parayı tutmaz ve otomatik olarak iade başlatamaz. Sağlayıcı panelinde iade yaptıktan sonra, kullanıcıyı sohbette manuel olarak bilgilendirmeniz önerilir.