Cara menyambung sistem pembayaran

Sistem pembayaran dibina ke dalam Telegram. Untuk menerima pembayaran dalam messenger, anda perlu:

  • Sambungkan sistem pembayaran ke bot anda menggunakan BotFather.
  • Pergi ke tetapan bot yang dikehendaki dan pilih "Pembayaran" dari menu.

Ikut arahan untuk menyambung sistem pembayaran yang tersedia dan salin token yang disediakan.

Cara menghantar invois kepada pelanggan

Untuk menghantar invois dalam Telegram, gunakan kaedah dan nyatakan parameter yang diperlukan.

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)

PENTING! Semua parameter mesti dihantar dalam susunan yang dinyatakan dalam fungsi. Jika anda perlu menentukan parameter tertentu dan meninggalkan yang lain, biarkan nilai kosong atau nilai seperti yang dinyatakan dalam dokumentasi untuk parameter yang tidak anda perlukan.

Contoh:

Jika mana-mana parameter need_name, need_phone_number, atau need_email diaktifkan, pengguna akan diminta untuk memberikan maklumat tersebut sebelum melengkapkan pembayaran. Setelah pembayaran berjaya, data disimpan ke dalam pembolehubah pelanggan yang sepadan.

Contoh:

Hasilnya: data diminta sebelum pembayaran.

Panggil balik pembayaran

Jika pembayaran berjaya, panggil balik dengan kandungan berikut akan dihantar ke sembang pengguna:

tg_payment 1372995196 120.75 USD 2ff747b9-000f-5000-b000-16d7e3517aa', di mana

  1. course_pay - payload - payload daripada permintaan penciptaan invois asal;
  2. 1372995196 - ID sembang tempat invois asalnya dihantar;
  3. 120.75 - jumlah pembayaran keseluruhan;
  4. USD - mata wang;
  5. 2ff747b9-000f-5000-b000-16d7e3517aa9 - ID pembayaran dalam sistem pedagang.

Selain itu, jika nama, nombor telefon, dan/atau e-mel pengguna diminta, pembolehubah yang sepadan akan diberikan kepada pelanggan:

tg_payment_name, tg_payment_phone dan tg_payment_email

Panggil balik kejayaan pembayaran akan dihantar ke mesej terus pengguna dengan bot.

Pengguna mesti mempunyai sembang sedia ada dengan bot (iaitu, mereka mesti telah memulakan atau melanggan bot) sebelum pembayaran dibuat. Jika tidak, bot tidak boleh menghantar mesej terus kepada mereka.

Setelah webhook pembayaran diterima, pembayaran akan disahkan secara automatik melalui kaedah answerPreCheckoutQuery. https://core.telegram.org/bots/api#answerprecheckoutquery

Mesej disemat dengan butang pembayaran

Anda perlu menggunakan ciri penyematan mesej selepas menyambung sistem pembayaran.

tg_pin_chat_message(platform_id, message_id, disable_notification)

Contoh:

Langkah 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"}]]}')

Langkah 2:
Hasil daripada langkah pertama, anda akan menerima respons yang mana anda perlu mengekstrak nilai message_id menggunakan fungsi get().
res=get(result,'result')
m_id=get(res,'message_id')

Seterusnya, sematkan mesej: tg_pin_chat_message(#{platform_id}, #{m_id}, 1)

Contoh: set parameter minimum

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

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

Contoh: papan kekunci

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"}]]}')