Kā pieslēgt maksājumu sistēmu
Maksājumu sistēma ir iebūvēta Telegram.
Lai veiktu maksājumus ziņojumapmaiņas lietotnē, jums ir nepieciešams:
- pieslēgt maksājumu sistēmu botam, izmantojot BotFather botu
- doties uz vēlamā bota iestatījumiem un izvēlnē izvēlēties Maksājumi
- sekot norādēm, lai pieslēgtu pieejamo maksājumu sistēmu un nokopētu izsniegto tokenu
Kā izrakstīt rēķinu klientam
Lai nosūtītu rēķinu Telegram, izmantojiet metodi
tg_send_invoice(provider_token, platform_id, title, description, currency, prices, photo_url, payload, protect_content, disable_notification, need_name, phone_number, need_email, reply_to_message_id, reply_markup, reply_id) - nepieciešamie parametri ir izcelti treknrakstā
provider_token - token, kas iegūts BotFather pēc maksājumu sistēmas pieslēgšanas
platform_id - saņēmējs - lietotāja, grupas vai kanāla identifikators
title - preces nosaukums, 1-32 rakstzīmes
description - preces apraksts, 1-255 rakstzīmes
currency - maksājuma valūta (RUB, USD, UAH un tā tālāk https://core.telegram.org/bots/payments#supported-currencies)
payload - pirmā maksājuma informācijas daļa, pēc noklusējuma tg_payment
prices - cenu sadalījums (apraksts zemāk)
photo_url - saite uz preces attēlu
disable_notification - 1 - sūtīt ar paziņojumu, 0 - bez paziņojuma
protect_content - 1 kopēšanas un ekrānuzņēmumu aizsardzība, 0 - neaizsargāts
need_name - 1, ja nepieciešams pilns lietotājvārds, lai pabeigtu pasūtījumu, 0 - bez vārda pieprasīšanas
need_phone_number - 1, ja nepieciešams lietotāja tālruņa numurs, lai pabeigtu pasūtījumu, 0 - bez numura pieprasīšanas
need_email - 1, ja nepieciešama lietotāja e-pasta adrese, lai pabeigtu pasūtījumu, 0 - bez e-pasta pieprasīšanas
reply_to_message_id - ziņojuma id, uz kuru atbildam, '' nav atbilde
reply_markup - tastatūra, pirmajai pogai jābūt ar maksājuma veidu
Ja ir norādīts kāds no parametriem need_name, need_phone_number vai need_email, lietotājam pirms maksājuma tiks pieprasīti dati, un tie tiks saglabāti klienta mainīgajos, ja maksājums būs veiksmīgs. Zemāk esošajā ekrānuzņēmumā ir redzams visu datu ievades pieprasījums:
prices - masīvu masīvs ar datiem par preču izmaksām un papildu pakalpojumiem (piegāde, iepakojums utt.). Tiek parādīts maksājuma lapā. Summa jānorāda kā vesels skaitlis, piemēram, 125, vai kā daļskaitlis ar punktu, piemēram, 120.25. Piemēram: [["prece", 2000], ["PVN", 20.75], ["iepakojums", 100]
Atzvanīšana pēc maksājuma
Pēc veiksmīga maksājuma tērzēšanā ar lietotāju tiks saņemta šāda atzvanīšana:
phone_best 4737685 2120.75 UAH 1955518436
kur phone_best - payload - no rēķina izveides pieprasījuma 473737685 - tērzēšanas id, uz kuru sākotnēji tika nosūtīts rēķins 2120.75 - pilna maksājuma summa UAH - valūta 1955518436 - maksājuma id tirgotāja sistēmā
Turklāt, ja pieprasījāt vārdu, tālruni un/vai e-pastu, klients ierakstīs mainīgos:
tg_payment_name, tg_payment_phone un tg_payment_email
Veiksmes gadījumā atzvanīšana tiks nosūtīta lietotāja personīgajos ziņojumos. Lai to izdarītu, klientam un botam pirms maksājuma ir jāsadarbojas (klientam jābūt abonētam botu)!
Pēc maksājuma paziņojuma saņemšanas maksājums tiks automātiski apstiprināts, izmantojot answerPreCheckoutQuery https://core.telegram.org/bots/api#answerprecheckoutquery.
Piemēri
prices = [["product", 2000], ["NDS", 20.75], ["package", 100]]
result = tg_send_invoice('632593626:TEST:sandbox_i38014109763', platform_id, 'phoneW-200', 'Best Model on the Market', 'UAH', prices, 'https://images11.popmeh.ru/cropped.jpg', 'phone_best', 0, 0, 1, 0, 1)
Piemērs ar minimālu parametru kopu
prices = [["an amazing product", 20000]] result = tg_send_invoice('632593626:TEST:sandbox_i38014109763', platform_id, 'The best bot ever!',`` 'An amazing course! Be the best!', 'UAH', prices)
Piemērs ar tastatūru
prices = [["product", 2000], ["NDS", 20.75], ["package", 100]] result = tg_send_invoice('632593626:TEST:sandbox_i38014109763', platform_id, 'Phone W-200', 'BEst Model on the Market', 'UAH', prices, 'https://helpix.ru/news/200405/181746/gf200_2.jpg', 'phone_best', 0, 0, 1, 1, 1, '', '{"inline_keyboard": [[{"text":"Pay", "pay":"True"}], [{"text":"One more button", "callback_data": "One more button"}]]}')