Ödeme sistemi nasıl bağlanır

Ödeme sistemi Telegram'a entegre edilmiştir. Mesajlaşma uygulaması içinde ödeme almak için şunları yapmanız gerekir:

  • BotFather kullanarak botunuza bir ödeme sistemi bağlayın.
  • İstediğiniz bot ayarlarına gidin ve menüden "Ödemeler" seçeneğini seçin.

Mevcut bir ödeme sistemini bağlamak için talimatları izleyin ve sağlanan token'ı kopyalayın.

Müşteriye fatura nasıl kesilir

Telegram'da fatura göndermek için metodu kullanın ve gerekli parametreleri belirtin.

tg_send_invoice(provider_token, platform_id, title, description, currency, prices, photo_url, payload, protect_content, disable_notification, need_name, need_phone_number, need_email, reply_to_message_id, reply_markup, message_thread_id, provider_data)

Fonksiyon parametreleri Parametre açıklaması
**!** provider_token (zorunlu parametre) BotFather'dan ödeme sistemi bağlandıktan sonra alınan token
**!** platform_id (zorunlu parametre) Alıcı kimliği - kullanıcı, grup veya kanal tanımlayıcısı
**!** title (zorunlu parametre) Ürün başlığı, 1–32 karakter
**!** description (zorunlu parametre) Ürün açıklaması, 1–255 karakter
**!** currency (zorunlu parametre) Ödeme para birimi (**EUR**, USD, UAH vb.; daha fazla bilgi için https://core.telegram.org/bots/payments#supported-currencies )
prices

Ürün ve ek hizmetler (teslimat, paketleme vb.) için fiyatlandırma detaylarını içeren diziler dizisi. Ödeme sayfasında görüntülenir. Tutar, tam sayı (ör. 125) veya nokta kullanılarak ondalık sayı (ör. 120.25) olarak belirtilebilir.

Örneğin: [["product", 2000], ["VAT", 20.75], ["packaging", 100]]

photo_url Ürün resmi URL'si
payload Ödeme geri aramasının ilk kısmı, varsayılan tg_payment değeridir
protect_content 1 - kopyalamaya ve ekran görüntülerine karşı koru, 0 - koruma yok
disable_notification 1 - bildirimle gönder, 0 - bildirimsiz gönder
need_name 1 - siparişi tamamlamak için tam kullanıcı adı iste, 0 - ad isteği yok
need_phone_number 1 - siparişi tamamlamak için kullanıcı telefon numarası iste, 0 - telefon numarası isteği yok
need_email 1 - siparişi tamamlamak için kullanıcı e-postası iste, 0 - e-posta isteği yok
reply_to_message_id Yanıtlanacak mesaj kimliği; faturayı ayrı bir mesaj olarak göndermek istiyorsanız, iki tek tırnak işareti ('') kullanın
reply_markup İlk düğmesi pay türüne ayarlanmış klavye
message_thread_id Konu kimliği (forum işlevselliği etkinleştirilmiş süper gruplar için kullanılabilir)
provider_data Ödeme hizmeti sağlayıcısına gönderilecek JSON formatındaki fatura verileri. Ödeme sistemi, gerekli alanların ayrıntılı açıklamalarını sağlamalıdır.

ÖNEMLİ! Tüm parametreler, fonksiyonda belirtilen sırayla iletilmelidir. Belirli bir parametreyi belirtmeniz ve diğerlerini atlamanız gerekiyorsa, ihtiyacınız olmayan parametreler için boş değerler veya dokümantasyonda belirtilen değerleri bırakın.

Örnek:

need_name, need_phone_number veya need_email parametrelerinden herhangi biri etkinleştirilirse, kullanıcıdan ödemeyi tamamlamadan önce bu bilgiyi sağlaması istenecektir. Başarılı ödeme durumunda, veriler ilgili müşteri değişkenlerine kaydedilir.

Örnek:

Sonuç: ödeme öncesinde veri istenir.

Ödeme geri araması

Ödeme başarılı olursa, kullanıcının sohbetine aşağıdaki içeriğe sahip bir geri arama gönderilir:

tg_payment 1372995196 120.75 USD 2ff747b9-000f-5000-b000-16d7e3517aa9, burada

  1. course_pay - payload - orijinal fatura oluşturma isteğindeki payload;
  2. 1372995196 - faturanın orijinal olarak gönderildiği sohbet kimliği;
  3. 120.75 - toplam ödeme tutarı;
  4. USD - para birimi;
  5. 2ff747b9-000f-5000-b000-16d7e3517aa9 - satıcı sistemindeki ödeme kimliği.

Ayrıca, kullanıcının adı, telefon numarası ve/veya e-postası istendiyse, ilgili değişkenler müşteriye atanır:

tg_payment_name, tg_payment_phone ve tg_payment_email

Ödeme başarılı geri araması, kullanıcının botla olan doğrudan mesajlarına gönderilecektir.

Kullanıcının, ödeme yapılmadan önce botla mevcut bir sohbeti olmalıdır (yani botu başlatmış veya bot'a abone olmuş olmalıdır). Aksi takdirde bot, kullanıcıya doğrudan mesaj gönderemez.

Ödeme webhook'u alındıktan sonra, ödeme answerPreCheckoutQuery yöntemi aracılığıyla otomatik olarak onaylanacaktır. https://core.telegram.org/bots/api#answerprecheckoutquery

Ödeme düğmesi olan sabitlenmiş mesaj

Ödeme sistemini bağladıktan sonra mesaj sabitleme özelliğini kullanmanız gerekir.

tg_pin_chat_message(platform_id, message_id, disable_notification)

Fonksiyon parametreleri Açıklama
**!** platform_id Telegram sohbet kimliği *
message_id Sabitlenecek mesaj kimliği
disable_notification Bu parametre, yeni sabitlenen mesaj hakkında tüm sohbet üyelerine bir bildirim gönderilip gönderilmeyeceğini tanımlar. Kanallarda ve özel sohbetlerde bildirimler her zaman devre dışıdır.
Bildirimleri devre dışı bırakmak için disable_notification parametresini 1 olarak ayarlayın; aksi takdirde 0 kullanın.

Örnek:

Adım 1:
prices = [["course", 100], ["VAT", 20.75]]

result=tg_send_invoice('381764678:TEST:129736', platform_id, 'Course on courses', 'Creating courses is easy', 'USD', prices, 'https://salebot.pro/promo.png', 'course_pay','0', '0', '1', '1', '1', '', '{"inline_keyboard": [[{"text":"Pay", "pay":"True"}]]}')

Adım 2:
Birinci adımın sonucunda, get() fonksiyonunu kullanarak message_id değerini çıkarmanız gereken bir yanıt alacaksınız.
res=get(result,'result')
m_id=get(res,'message_id')

Ardından mesajı sabitleyin: tg_pin_chat_message(#{platform_id}, #{m_id}, 1)

Örnek: minimum parametre seti

prices = [["super course", 100]]

result= tg_send_invoice('381764678:TEST:129736', platform_id, 'Course on courses', 'Creating courses is super easy', 'USD', prices)

Örnek: klavye

prices = [["course", 100], ["VAT", 20.75]]

tg_send_invoice('381764678:TEST:129736', platform_id, 'Course on courses', 'Creating courses is easy, 'USD', prices, 'https://mavibot.ai/promo.png', 'course_pay','0', '0', '1', '1', '1', '', '{"inline_keyboard": [[{"text":"Pay", "pay":"True"}], [{"text":"Another button", "callback_data": "Another button"}]]}')