Telegram
Comment connecter le système de paiement
Le système de paiement est intégré à Telegram.
Afin d’effectuer des paiements dans le messager, vous devez :
connecter le système de paiement au bot dans le botfather bot
aller dans les paramètres du bot souhaité et, dans le menu, sélectionner Paiements
suivre les instructions pour connecter un système de paiement disponible et copier le jeton émis

Comment facturer un client
Pour envoyer une facture à Telegram, utilisez la méthode
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) - les paramètres requis sont mis en évidence en gras
provider_token - jeton reçu dans Botfather, après la connexion du système de paiement
platform_id - destinataire - identifiant de l’utilisateur, du groupe ou de la chaîne
title - titre de l’article, 1-32 caractères
description - description des biens, 1-255 caractères
currency - devise de paiement (RUB, USD, UAH, etc. https://core.telegram.org/bots/payments#supported-currencies)
payload - la première partie du jeton concernant le paiement, par défaut tg_payment
prices - détail du prix (description ci-dessous)
photo_url - lien vers l’image du produit
disable_notification - 1 - envoyer avec notification, 0 - sans notification
protect_content - 1 protection contre la copie et les captures d’écran, 0 - non protégé
need_name - 1 si vous avez besoin du nom complet de l’utilisateur pour finaliser la commande, 0 - sans demander de nom
need_phone_number - 1 si vous exigez le numéro de téléphone de l’utilisateur pour finaliser la commande, 0 - sans demander de numéro
need_email - 1 si vous exigez l’adresse e-mail de l’utilisateur pour finaliser la commande, 0 - sans demande d’e-mail
reply_to_message_id - l’identifiant du message auquel nous répondons, '' n’est pas la réponse
reply_markup - clavier, le premier bouton doit être un bouton de type payant
Si l’un des paramètres need_name, need_phone_number ou need_email est spécifié, l’utilisateur demandera les données avant de payer et les enregistrera dans les variables client si le paiement réussit. Dans la capture d’écran ci-dessous, la demande de saisie de toutes les données :
prices - un tableau de tableaux contenant les données sur le coût des biens et des services supplémentaires (livraison, emballage, etc.). Affiché sur la page de paiement. Le montant doit être indiqué soit par un entier de 125, soit par une fraction avec un point 120.25 Par exemple : [["goods", 2000], ["VAT", 20.75], ["packaging", 100]
Callback sur le paiement
Après un paiement réussi, un colbeck arrivera dans le chat avec l’utilisateur, comme suit :
phone_best 4737685 2120.75 UAH 1955518436
où phone_best - payload - à partir de la requête de création de la facture 473737685 - un identifiant de chat, auquel la facture a été initialement envoyée 2120.75 - le montant total du paiement UAH - devise 1955518436 - identifiant de paiement dans le système marchand
De plus, si vous avez demandé un nom, un téléphone et/ou un e-mail, le client enregistrera les variables :
tg_payment_name, tg_payment_phone et tg_payment_email
En cas de succès, le kolbek sera envoyé dans les messages personnels de l’utilisateur. Pour cela, le client et le bot doivent coopérer avant le paiement (le client doit être abonné au bot) !
Après réception du hook concernant le paiement, celui-ci sera confirmé automatiquement, via answerPreCheckoutQuery https://core.telegram.org/bots/api#answerprecheckoutquery .
Exemples
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)

Exemple avec un ensemble minimal de paramètres
prices = [["an amazing product", 20000]] result = tg_send_invoice('632593626:TEST:sandbox_i38014109763', platform_id, 'The best bot ever!', 'Un cours incroyable ! Soyez le meilleur !', 'UAH', prices)

Exemple avec un clavier
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"}]]}')

Mis à jour