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)

İşlev parametreleri
Parametre açıklaması

! 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-currenciesarrow-up-right )

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.

circle-exclamation

Ö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

  1. course_pay - payload - orijinal fatura oluşturma isteğinden gelen payload;

  2. 1372995196 - faturanın başlangıçta gönderildiği sohbet kimliği;

  3. 120.75 - toplam ödeme tutarı;

  4. USD - para birimi;

  5. 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

circle-info

Ö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.

circle-info

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

Ö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)

İşlev 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 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