Kā pieslēgt maksājumu pakalpojumu sniedzēju

Telegram ir iebūvēta maksājumu sistēma. Lai pieņemtu maksājumus Telegram, jums ir:

  1. Pieslēgt maksājumu pakalpojumu sniedzēju savam botam, izmantojot BotFather.
  2. Atvērt sava bota iestatījumus BotFather un izvēlēties Payments.

Izpildiet norādījumus, lai pieslēgtu kādu no pieejamajiem maksājumu pakalpojumu sniedzējiem, pēc tam nokopējiet ģenerēto pakalpojumu sniedzēja marķieri.

Kā nosūtīt rēķinu

Lai nosūtītu rēķinu Telegram, izmantojiet šādu funkciju:

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
)
Parametrs Apraksts
provider_token Obligāts. Pakalpojumu sniedzēja marķieris, kas saņemts no BotFather pēc maksājumu pakalpojumu sniedzēja pieslēgšanas.
platform_id Obligāts. Saņēmēja identifikators (lietotāja, grupas vai kanāla ID).
title Obligāts. Produkta nosaukums (1–32 rakstzīmes).
description Obligāts. Produkta apraksts (1–255 rakstzīmes).
currency Obligāts. Maksājuma valūta (piemēram: EUR, USD, UAH). Skatiet atbalstīto valūtu sarakstu: https://core.telegram.org/bots/payments#supported-currencies
prices Masīvs, kas apraksta rēķina vienības. Katra vienība satur nosaukumu un summu. Summas var būt veseli skaitļi vai decimālskaitļi.

Piemērs:
[["Product", 2000], ["VAT", 20.75], ["Packaging", 100]]
photo_url Produkta attēla URL.
payload Pielāgots krava, kas tiek atgriezta maksājuma atzvanā. Noklusējums: tg_payment.
protect_content 1 — aizsargāt saturu no kopēšanas un ekrānuzņēmumiem.
0 — nav aizsardzības.
disable_notification 1 — nosūtīt klusi.
0 — nosūtīt ar paziņojumu.
need_name 1 — pieprasīt klienta pilno vārdu.
0 — nepieprasīt.
need_phone_number 1 — pieprasīt klienta tālruņa numuru.
0 — nepieprasīt.
need_email 1 — pieprasīt klienta e-pasta adresi.
0 — nepieprasīt.
reply_to_message_id Ziņojuma ID, uz kuru atbildēt. Izmantojiet '', lai nosūtītu rēķinu kā atsevišķu ziņojumu.
reply_markup Tastatūras konfigurācija. Pirmajai pogai jābūt pay tipam.
message_thread_id Tēmas ID forumiem iespējotām supergrupām.
provider_data JSON objekts ar pakalpojumu sniedzējam specifiskiem maksājumu datiem. Skatiet sava maksājumu pakalpojumu sniedzēja dokumentāciju par nepieciešamajiem laukiem.

Svarīgi

Parametri jānorāda tieši tādā secībā, kā parādīts iepriekš.

Ja nepieciešams izlaist neobligātos parametrus, atstājiet tos tukšus vai norādiet noklusējuma vērtības, kas aprakstītas dokumentācijā.

Piemērs

Ja ir iespējots kāds no šiem parametriem:

  • need_name
  • need_phone_number
  • need_email

Telegram pirms maksājuma pieprasīs klientam norādīto informāciju.

Pēc veiksmīga maksājuma savāktā informācija tiek automātiski saglabāta attiecīgajos klienta mainīgajos.

Piemērs:

Maksājuma atzvans

Pēc veiksmīga maksājuma Telegram nosūta botam šādu atzvanu:

tg_payment 1372995196 120.75 USD 2ff747b9-000f-5000-b000-16d7e3517aa9

Kur:

  1. tg_payment — krava vērtība, kas norādīta, veidojot rēķinu.
  2. 1372995196 — tērzēšanas ID, kurā rēķins sākotnēji tika nosūtīts.
  3. 120.75 — maksājuma summa.
  4. USD — maksājuma valūta.
  5. 2ff747b9-000f-5000-b000-16d7e3517aa9 — maksājuma ID, ko atgriezis maksājumu pakalpojumu sniedzējs.

Ja tika pieprasīta klienta informācija, automātiski tiks aizpildīti arī šādi klienta mainīgie:

  • tg_payment_name
  • tg_payment_phone
  • tg_payment_email

Maksājuma atzvans tiek nosūtīts uz lietotāja privāto tērzēšanu ar botu.

Lietotājam pirms maksājuma veikšanas jau ir jābūt sākušam sarunu ar botu. Pretējā gadījumā Telegram nevar piegādāt atzvanas ziņojumu.

Pēc maksājuma tīmekļa āķa saņemšanas MaviBot automātiski apstiprina maksājumu, izmantojot metodi answerPreCheckoutQuery.

https://core.telegram.org/bots/api#answerprecheckoutquery

Rēķina ziņojuma piespraušana

Pēc maksājumu pakalpojumu sniedzēja pieslēgšanas varat piespraust rēķina ziņojumu.

Izmantojiet funkciju:

tg_pin_chat_message(platform_id, message_id, disable_notification)
Parametrs Apraksts
platform_id Telegram tērzēšanas ID.
message_id Piespraužamā ziņojuma ID.
disable_notification Kontrolē, vai Telegram nosūta paziņojumu par piesprausto ziņojumu.

1 — bez paziņojuma.
0 — nosūtīt paziņojumu.

Paziņojumi vienmēr ir atspējoti privātajās tērzēšanās un kanālos.

Piemērs

1. solis

prices = [["Course", 100], ["VAT", 20.75]]

result = tg_send_invoice(
    '381764678:TEST:129736',
    platform_id,
    'Course',
    '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. solis

Izvelciet message_id no atbildes:

res = get(result, 'result')
m_id = get(res, 'message_id')

Pēc tam piespraudiet ziņojumu:

tg_pin_chat_message(#{platform_id}, #{m_id}, 1)

Piemērs: minimālie nepieciešamie parametri

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

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

Piemērs: rēķins ar iekļauto tastatūru

prices = [["Course", 100], ["VAT", 20.75]]

tg_send_invoice(
    '381764678:TEST:129736',
    platform_id,
    'Course',
    '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"}]]}'
)