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

                                         ![](https://docs.mavibot.ai/files/1PhZiQDP4PjOrrnX1v6g)<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"}]]}')