# Telegram

## Comment connecter le système de paiement&#x20;

### Le système de paiement est intégré à Telegram.&#x20;

Afin d’effectuer des paiements dans le messager, vous devez :&#x20;

* connecter le système de paiement au bot dans le botfather bot&#x20;
* aller dans les paramètres du bot souhaité et, dans le menu, sélectionner Paiements&#x20;
* suivre les instructions pour connecter un système de paiement disponible et copier le jeton émis

&#x20;                                           ![](/files/d662d06acb117dfbb6836839b608bf98ef9c5acc)<br>

![](/files/fed5f4b0f1ac09fd7a6a5e82c90b052ec05b3aae)

## Comment facturer un client&#x20;

Pour envoyer une facture à Telegram, utilisez la méthode&#x20;

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&#x20;

**provider\_token** - jeton reçu dans Botfather, après la connexion du système de paiement&#x20;

**platform\_id** - destinataire - identifiant de l’utilisateur, du groupe ou de la chaîne&#x20;

**title** - titre de l’article, 1-32 caractères

**description** - description des biens, 1-255 caractères&#x20;

**currency** - devise de paiement (RUB, USD, UAH, etc. <https://core.telegram.org/bots/payments#supported-currencies>) &#x20;

**payload** - la première partie du jeton concernant le paiement, par défaut tg\_payment&#x20;

**prices** - détail du prix (description ci-dessous)&#x20;

**photo\_url** - lien vers l’image du produit&#x20;

**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é&#x20;

**need\_name** - 1 si vous avez besoin du nom complet de l’utilisateur pour finaliser la commande, 0 - sans demander de nom&#x20;

**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&#x20;

**need\_email** - 1 si vous exigez l’adresse e-mail de l’utilisateur pour finaliser la commande, 0 - sans demande d’e-mail&#x20;

**reply\_to\_message\_id** - l’identifiant du message auquel nous répondons, '' n’est pas la réponse&#x20;

**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&#x20;

Après un paiement réussi, un colbeck arrivera dans le chat avec l’utilisateur, comme suit :&#x20;

**phone\_best 4737685 2120.75 UAH 1955518436**&#x20;

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 :&#x20;

**tg\_payment\_name, tg\_payment\_phone** et **tg\_payment\_email**

{% hint style="info" %}
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) !
{% endhint %}

{% hint style="info" %}
Après réception du hook concernant le paiement, celui-ci sera confirmé automatiquement, via answerPreCheckoutQuery <https://core.telegram.org/bots/api#answerprecheckoutquery> . &#x20;
{% endhint %}

## Exemples&#x20;

`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)`

![](/files/fd0c6e7b2b23542fd7dcfa64f7ecdc69b816dacf)

### 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!',`` `<mark style="color:purple;">`'Un cours incroyable ! Soyez le meilleur !'`</mark>`, 'UAH', prices)`

![](/files/78e74dc5f254b0428b5ef63037c1f6ccc819e5f7)

### Exemple avec un clavier&#x20;

`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"}]]}')`

![](/files/e9c961c10b575a5d8d01e5bd8020cf81ca91d362)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/fr/integrations/payment/telegram.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
