Comment connecter le système de paiement
Le système de paiement est intégré à Telegram.
Pour effectuer des paiements dans le messager, vous devez :
-
connecter le système de paiement au bot dans BotFather
-
accéder aux paramètres du bot souhaité et sélectionner Paiements dans le menu
-
suivre les instructions pour connecter un système de paiement accessible et copier le jeton émis
<br>
Comment facturer un client
Pour envoyer une facture sur 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 obligatoires sont en gras
provider_token - jeton reçu dans BotFather après avoir connecté le système de paiement
platform_id - destinataire - identifiant de l'utilisateur, du groupe ou du canal
title - titre de l'article, 1 à 32 caractères
description - description du produit, 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 de la pièce concernant le paiement, par défaut tg_payment
prices - ventilation des 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 la capture 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 le nom
need_phone_number - 1 si vous avez besoin du numéro de téléphone de l'utilisateur pour finaliser la commande, 0 - sans demander le numéro
need_email - 1 si vous avez besoin de 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 paiement
Si l'un des paramètres need_name, need_phone_number ou need_email est spécifié, l'utilisateur devra fournir les données avant le paiement et celles-ci seront enregistrées dans les variables client en cas de succès du paiement. Dans la capture d'écran ci-dessous, la demande de toutes les données en entrée :
prices - un tableau de tableaux contenant les données sur le coût des produits et des services supplémentaires (livraison, emballage, etc.). Affiché sur la page de paiement. Le montant doit être indiqué soit par un entier 125, soit par une fraction avec un point 120.25. Par exemple : [["produit", 2000], ["TVA", 20.75], ["emballage", 100]
Callback de paiement
Après un paiement réussi, un callback sera envoyé dans le chat avec l'utilisateur comme suit :
phone_best 4737685 2120.75 UAH 1955518436
où phone_best - payload - de la demande de création de facture 473737685 - l'identifiant du chat auquel la facture a été initialement envoyée 2120.75 - le montant total du paiement UAH - devise 1955518436 - identifiant du paiement dans le système marchand
De plus, si vous avez demandé le nom, le téléphone et/ou l'e-mail, le client enregistrera les variables :
tg_payment_name, tg_payment_phone et tg_payment_email
En cas de succès, le callback 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 avoir reçu le hook concernant le paiement, le paiement sera automatiquement confirmé via answerPreCheckoutQuery https://core.telegram.org/bots/api#answerprecheckoutquery.
Exemples
prices = [["produit", 2000], ["TVA", 20.75], ["emballage", 100]]
result = tg_send_invoice('632593626:TEST:sandbox_i38014109763', platform_id, 'phoneW-200', 'Meilleur modèle sur le marché', 'UAH', prices, 'https://images11.popmeh.ru/cropped.jpg', 'phone_best', 0, 0, 1, 0, 1)
Exemple avec un ensemble minimal de paramètres
prices = [["un produit incroyable", 20000]] result = tg_send_invoice('632593626:TEST:sandbox_i38014109763', platform_id, 'Le meilleur bot de tous les temps !',`` 'Un cours incroyable ! Soyez le meilleur !', 'UAH', prices)
Exemple avec un clavier
prices = [["produit", 2000], ["TVA", 20.75], ["emballage", 100]] result = tg_send_invoice('632593626:TEST:sandbox_i38014109763', platform_id, 'Phone W-200', 'Meilleur modèle sur le marché', 'UAH', prices, 'https://helpix.ru/news/200405/181746/gf200_2.jpg', 'phone_best', 0, 0, 1, 1, 1, '', '{"inline_keyboard": [[{"text":"Payer", "pay":"True"}], [{"text":"Un bouton de plus", "callback_data": "Un bouton de plus"}]]}')