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