Төлем жүйесін қалай қосу керек
Төлем жүйесі Telegram-ға енгізілген.
Мессенджер ішінде төлемдерді жүзеге асыру үшін сізге қажет:
- BotFather ботында төлем жүйесін ботқа қосу
- қажетті бот параметрлеріне өтіп, мәзірден Төлемдер (Payments) таңдау
- нұсқауларды орындап, қолжетімді төлем жүйесін қосу және берілген токенді көшіру
Клиентке шот-фактураны қалай жіберу керек
Telegram-ға шот-фактураны жіберу үшін әдісті пайдаланыңыз
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) - міндетті параметрлер қалың қаріппен белгіленген
provider_token - BotFather-да төлем жүйесін қосқаннан кейін алынған токен
platform_id - алушы - пайдаланушының, топтың немесе арнаның идентификаторы
title - тауар атауы, 1-32 таңба
description - тауар сипаттамасы, 1-255 таңба
currency - төлем валютасы (RUB, USD, UAH және т.б. https://core.telegram.org/bots/payments#supported-currencies)
payload - төлем туралы ақпараттың бірінші бөлігі, әдепкі бойынша tg_payment
prices - бағаның бөлінуі (төменде сипатталған)
photo_url - өнім суретіне сілтеме
disable_notification - 1 - хабарландырумен жіберу, 0 - хабарландырусыз
protect_content - 1 көшіру және скриншоттан қорғау, 0 - қорғаусыз
need_name - 1, егер тапсырысты аяқтау үшін толық пайдаланушы аты қажет болса, 0 - атын сұрамау
need_phone_number - 1, егер тапсырысты аяқтау үшін пайдаланушының телефон нөмірі қажет болса, 0 - нөмірді сұрамау
need_email - 1, егер тапсырысты аяқтау үшін пайдаланушының электрондық поштасы қажет болса, 0 - поштаны сұрамау
reply_to_message_id - жауап берілетін хабарлама идентификаторы, '' жауап емес
reply_markup - пернетақта, бірінші түйме төлем түрі бар түйме болуы керек
Егер need_name, need_phone_number немесе need_email параметрлерінің бірі көрсетілсе, пайдаланушы төлем алдында деректерді сұрайды және төлем сәтті болса, оларды клиент айнымалыларына сақтайды. Төмендегі скриншотта барлық деректерді енгізу сұрауы көрсетілген:
prices - тауарлар мен қосымша қызметтердің (жеткізу, орау және т.б.) құны туралы деректері бар массивтер массиві. Төлем бетінде көрсетіледі. Сома 125 бүтін санмен немесе 120.25 нүкте арқылы бөлшекпен көрсетілуі керек. Мысалы: [["тауар", 2000], ["ҚҚС", 20.75], ["орау", 100]
Төлем бойынша кері шақыру
Пайдаланушымен чатта сәтті төлемнен кейін келесідей колбек келеді:
phone_best 4737685 2120.75 UAH 1955518436
мұндағы phone_best - payload - шот-фактураны жасау сұрауынан 473737685 - чат идентификаторы, оған бастапқыда шот-фактура жіберілген 2120.75 - төлемнің толық сомасы UAH - валюта 1955518436 - сауда жүйесіндегі төлем идентификаторы
Сондай-ақ, егер сіз атын, телефонын және/немесе электрондық поштасын сұрасаңыз, клиент келесі айнымалыларды жазады:
tg_payment_name, tg_payment_phone және tg_payment_email
Сәтті болған жағдайда, колбек пайдаланушының жеке хабарламаларына жіберіледі. Ол үшін клиент пен бот төлемге дейін бірлесіп жұмыс істеуі керек (клиент ботқа жазылуы керек)!
Төлем туралы хабарламаны алғаннан кейін, төлем answerPreCheckoutQuery https://core.telegram.org/bots/api#answerprecheckoutquery арқылы автоматты түрде расталады.
Мысалдар
prices = [["өнім", 2000], ["ҚҚС", 20.75], ["орам", 100]]
result = tg_send_invoice('632593626:TEST:sandbox_i38014109763', platform_id, 'phoneW-200', 'Нарықтағы ең жақсы модель', 'UAH', prices, 'https://images11.popmeh.ru/cropped.jpg', 'phone_best', 0, 0, 1, 0, 1)
Параметрлердің ең аз жиынтығымен мысал
prices = [["керемет өнім", 20000]] result = tg_send_invoice('632593626:TEST:sandbox_i38014109763', platform_id, 'Ең жақсы бот!',`` 'Керемет курс! Ең жақсы бол!', 'UAH', prices)
Пернетақтамен мысал
prices = [["өнім", 2000], ["ҚҚС", 20.75], ["орам", 100]] result = tg_send_invoice('632593626:TEST:sandbox_i38014109763', platform_id, 'Phone W-200', 'Нарықтағы ең жақсы модель', 'UAH', prices, 'https://helpix.ru/news/200405/181746/gf200_2.jpg', 'phone_best', 0, 0, 1, 1, 1, '', '{"inline_keyboard": [[{"text":"Төлеу", "pay":"True"}], [{"text":"Тағы бір түйме", "callback_data": "Тағы бір түйме"}]]}')


