Telegram'da ödeme
Bir ödeme sistemi nasıl bağlanır
Ödeme sistemi Telegram'a entegredir. Messenger içinde ödeme kabul etmek için şunları yapmanız gerekir:
Botunuza bir ödeme sistemi bağlayın kullanarak BotFather.
İstediğiniz bot ayarlarına gidin ve seçin "Ödemeler" menüden.


Kullanılabilir bir ödeme sistemini bağlamak için talimatları izleyin ve verilen belirteci kopyalayın.



Bir müşteriye fatura nasıl kesilir
Telegram'da bir fatura göndermek için yöntemi 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)
! provider_token
(gerekli parametre) ödeme sistemi bağlandıktan sonra BotFather'dan alınan belirteç
! platform_id
(gerekli parametre) alıcı kimliği - kullanıcı, grup veya kanal tanımlayıcısı
! title
(gerekli parametre) ürün başlığı, 1–32 karakter
! description
(gerekli parametre) ürün açıklaması, 1–255 karakter
! currency
(gerekli parametre) ödeme para birimi (EUR, USD, UAH vb.; daha fazla ayrıntı için https://core.telegram.org/bots/payments#supported-currencies )
prices
Ürün ve ek hizmetler (teslimat, paketleme vb.) için fiyatlandırma ayrıntılarını içeren bir dizi dizisi. Ödeme sayfasında gösterilir. Tutar, bir tam sayı (ör. 125) ya da nokta kullanılan ondalık sayı (ör. 120.25) olarak belirtilebilir.
Örneğin: [["product", 2000], ["VAT", 20.75], ["packaging", 100]]
photo_url
Ürün görseli URL'si
payload
Ödeme geri çağrısının ilk bölümü, varsayılan değer tg_payment
protect_content
1 - kopyalanmaya ve ekran görüntülerine karşı korur, 0 - koruma yok
disable_notification
1 - bildirimle gönder, 0 - bildirimsiz
need_name
1 - siparişi tamamlamak için tam kullanıcı adını gerektirir, 0 - ad istemez
need_phone_number
1 - siparişi tamamlamak için kullanıcı telefon numarasını gerektirir, 0 - telefon numarası istemez
need_email
1 - siparişi tamamlamak için kullanıcı e-postasını gerektirir, 0 - e-posta istemez
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 tür olarak ayarlanmış klavye pay
message_thread_id
Konu kimliği (forum işlevi etkinleştirilmiş süper gruplar için kullanılabilir)
provider_data
Ödeme hizmeti sağlayıcısına gönderilecek JSON biçimindeki 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 belirtip diğerlerini atlamanız gerekiyorsa, boş değerler bırakın veya ihtiyacınız olmayan parametreler için belgelerde belirtilen değerleri kullanın.
Örnek:

Parametrelerden herhangi biri need_name, need_phone_numberya da need_email etkinleştirilirse, kullanıcıya ödemeyi tamamlamadan önce bu bilgileri sağlaması istenir. Ödeme başarıyla tamamlandığında, veriler ilgili istemci değişkenlerine kaydedilir.
Örnek:

Sonuç: ödeme öncesinde veri istenir.
Ödeme geri bildirimi
Ödeme başarılı olursa, aşağıdaki içerikte bir geri çağrı kullanıcının sohbetine gönderilir:
tg_payment 1372995196 120.75 USD 2ff747b9-000f-5000-b000-16d7e3517aa9, burada
course_pay - payload - orijinal fatura oluşturma isteğinden gelen payload;
1372995196 - faturanın başlangıçta gönderildiği sohbet kimliği;
120.75 - toplam ödeme tutarı;
USD - para birimi;
2ff747b9-000f-5000-b000-16d7e3517aa9 - satıcının sistemindeki ödeme kimliği.

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

Ödeme başarı geri çağrısı kullanıcının doğrudan mesajlarına bot ile gönderilecektir.
Kullanıcının bot ile mevcut bir sohbeti olmalıdır (yani, botu başlatmış veya botu aboneliğe almış olmalıdır) önce ödeme yapılır. Aksi takdirde bot onlara 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)
! 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 bildirim gönderilip gönderilmeyeceğini belirler. 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:
1. Adım: 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"}]]}')
2. Adım: İlk adımın sonucu olarak, içinden message_id değerini get() fonksiyonu ile çı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"}]]}')

Last updated