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)
| Parameter fungsi | Penerangan parameter |
|---|---|
| **!** provider_token | (parameter wajib) token yang diperoleh daripada BotFather selepas menyambung sistem pembayaran |
| **!** platform_id | (parameter wajib) ID penerima - pengguna, kumpulan, atau pengecam saluran |
| **!** title | (parameter wajib) tajuk produk, 1–32 aksara |
| **!** description | (parameter wajib) penerangan produk, 1–255 aksara |
| **!** currency | (parameter wajib) mata wang pembayaran (**EUR**, USD, UAH, dll.; untuk butiran lanjut https://core.telegram.org/bots/payments#supported-currencies ) |
| prices |
Tatasusunan tatasusunan yang mengandungi butiran harga untuk produk dan perkhidmatan tambahan (penghantaran, pembungkusan, dll.). Dipaparkan pada halaman pembayaran. Jumlah boleh dinyatakan sama ada sebagai integer (cth., 125) atau nombor perpuluhan menggunakan titik (cth., 120.25).
Contohnya: [["product", 2000], ["VAT", 20.75], ["packaging", 100]] |
| photo_url | URL imej produk |
| payload | Bahagian pertama panggil balik pembayaran, lalai adalah tg_payment |
| protect_content | 1 - lindungi daripada penyalinan dan tangkapan skrin, 0 - tiada perlindungan |
| disable_notification | 1 - hantar dengan pemberitahuan, 0 - tanpa pemberitahuan |
| need_name | 1 - perlukan nama penuh pengguna untuk melengkapkan pesanan, 0 - tiada permintaan nama |
| need_phone_number | 1 - perlukan nombor telefon pengguna untuk melengkapkan pesanan, 0 - tiada permintaan nombor telefon |
| need_email | 1 - perlukan e-mel pengguna untuk melengkapkan pesanan, 0 - tiada permintaan e-mel |
| reply_to_message_id | ID mesej untuk dibalas; jika anda ingin menghantar invois sebagai mesej berasingan, gunakan dua petikan tunggal ('') |
| reply_markup | Papan kekunci dengan butang pertama ditetapkan kepada jenis pay |
| message_thread_id | ID topik (tersedia untuk superkumpulan dengan fungsi forum diaktifkan) |
| provider_data | Data invois dalam format JSON untuk dihantar kepada penyedia perkhidmatan pembayaran. Sistem pembayaran harus menyediakan penerangan terperinci tentang medan yang diperlukan. |
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
- course_pay - payload - payload daripada permintaan penciptaan invois asal;
- 1372995196 - ID sembang tempat invois asalnya dihantar;
- 120.75 - jumlah pembayaran keseluruhan;
- USD - mata wang;
- 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)
| Parameter fungsi | Penerangan |
|---|---|
| **!** platform_id | ID sembang Telegram * |
| message_id | ID mesej untuk disemat |
| disable_notification | Parameter ini menentukan sama ada pemberitahuan harus dihantar kepada semua ahli sembang tentang mesej yang baru disemat. Pemberitahuan sentiasa dilumpuhkan dalam saluran dan sembang peribadi.
Untuk melumpuhkan pemberitahuan, tetapkan parameter disable_notification kepada 1; jika tidak, gunakan 0. |
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"}]]}')
