Accepter les paiements crypto dans un bot Telegram (USDT pas à pas)
Les bots Telegram et les communautés payantes vivent de la livraison instantanée. Voici comment brancher une passerelle de paiement crypto sur votre bot pour que vos utilisateurs paient en USDT et reçoivent l'accès automatiquement.

Pour accepter les paiements crypto dans un bot Telegram, faites créer par le backend du bot une facture via l'API d'une passerelle de paiement crypto lorsque l'utilisateur appuie sur « Acheter », envoyez le lien de paiement renvoyé sous forme de bouton inline, puis écoutez le webhook signé de la passerelle. Une fois le paiement confirmé, le bot livre automatiquement le produit, la clé ou l'invitation au canal.
Les bots Telegram et les communautés payantes font partie des usages les plus naturels du paiement en crypto : les utilisateurs sont internationaux, beaucoup détiennent déjà de l'USDT et ils attendent une livraison en quelques secondes. Ce guide présente l'architecture, le flux de messages et les détails qui garantissent la fiabilité.
Pourquoi la crypto fonctionne si bien pour les bots Telegram
- Audience mondiale : les utilisateurs de bots viennent de partout ; un seul prix en USDT convient à tous.
- Paiement pensé pour le mobile : la page de paiement hébergée s'ouvre dans le navigateur de Telegram, et une application de portefeuille peut scanner le QR code ou copier l'adresse.
- Automatisation instantanée : un webhook signé permet au bot de livrer sans que personne ne vérifie un explorateur de blocs.
- Réseaux rapides : sur TRON et BNB Smart Chain, les paiements sont généralement confirmés en une minute environ.
Les bots Telegram et les communautés payantes font partie des cas d'usage centraux pour lesquels mistKET a été conçu, aux côtés du SaaS, de l'hébergement et des produits numériques.
Architecture : trois composants
| Composant | Rôle |
|---|---|
| Bot Telegram (via la Bot API) | Dialogue avec l'utilisateur : menus, boutons, messages de livraison |
| Votre backend | Stocke les commandes, appelle l'API de la passerelle, reçoit les webhooks, garde les secrets |
| Passerelle mistKET | Page de paiement hébergée, surveillance de la blockchain, confirmations, règlement |
Quel que soit votre framework, le schéma pour accepter les paiements crypto dans un bot Telegram reste le même. Le bot et le backend sont généralement un seul petit service. L'essentiel est que les secrets d'API et de webhook restent sur le serveur, jamais dans les messages ni dans du code côté client. La documentation officielle de Telegram pour les bots se trouve sur core.telegram.org.
Pas à pas : accepter les paiements crypto dans un bot Telegram
- L'utilisateur choisit un produit — par exemple « Accès 1 mois » via un clavier inline. Votre backend crée une commande avec l'identifiant Telegram de l'utilisateur.
- Le backend crée une facture — un seul
POST /api/v1/invoicessigné avec le montant, la devise, votre identifiant de commande et une URL de callback. - Le bot envoie un bouton de paiement — un bouton URL inline pointant vers le
checkout_urlrenvoyé, avec une courte note : « Envoyez le montant exact sur le réseau de votre choix. » - L'utilisateur paie — sur la page hébergée, il choisit l'USDT sur TRON, BSC, Ethereum ou Arbitrum (ou TRX, BNB, ETH) et paie depuis son portefeuille ou sa plateforme d'échange.
- Le webhook arrive — après les confirmations, votre callback reçoit un événement signé
invoice.confirmedcontenant votre identifiant de commande. - Le bot livre — vérifiez la signature, marquez la commande comme payée, puis envoyez dans la conversation la clé de licence, le fichier ou un lien d'invitation au canal à usage unique.
Un modèle de données minimal
Pas besoin d'une base de données complexe pour faire tourner un bot payant. Trois tables couvrent la plupart des cas :
| Table | Champs clés | Rôle |
|---|---|---|
| users | telegram_id, username, access_until | Qui a accès et jusqu'à quand |
| orders | order_id, telegram_id, product, amount, status | Une ligne par tentative d'achat |
| invoices | order_id, invoice_uuid, checkout_url, network, paid_amount | Lien entre votre commande et la facture de la passerelle |
À l'arrivée du webhook, retrouvez la commande par order_id, vérifiez qu'elle n'a pas déjà été livrée, mettez à jour le statut et écrivez à l'utilisateur via son telegram_id. C'est toute la boucle de livraison.
Exemples de messages
Une formulation claire dans la conversation réduit les demandes au support. Une séquence qui fonctionne bien :
- Message de facture : « Votre commande : accès 1 mois, 15 USD. Appuyez sur Payer pour ouvrir la page de paiement sécurisée. Envoyez le montant exact sur le réseau de votre choix. »
- Payé : « Paiement détecté. En attente des confirmations du réseau, cela prend généralement une à deux minutes. »
- Confirmé : « Paiement confirmé. Voici votre lien d'invitation, il ne fonctionne qu'une fois. »
- Sous-payé : « Nous avons reçu moins que le montant de la facture. Ouvrez la même page de paiement pour envoyer le reste. »
- Expiré : « Cette facture a expiré. Appuyez ci-dessous pour en obtenir une nouvelle. »
Un support sans captures d'écran
Quand un utilisateur pose une question sur un paiement, demandez-lui uniquement son numéro de commande. En ouvrant la facture dans le tableau de bord marchand, vous voyez le montant attendu, le montant reçu, le réseau et le hash de transaction : plus besoin de captures d'écran ni d'adresses de portefeuille. Un bouton « Support » dans le bot peut transmettre le numéro de commande automatiquement, ce qui transforme la plupart des questions de paiement en une vérification de dix secondes plutôt qu'en longue conversation.
Bonnes pratiques d'UX dans la conversation
- Envoyez des mises à jour de statut. Sur
invoice.paid, répondez « Paiement vu, en attente des confirmations » ; surinvoice.confirmed, livrez. - Affichez le prix en dollars et laissez la passerelle convertir. Le taux est bloqué pendant toute la durée de la facture.
- Expliquez le compte à rebours une fois, pour que personne ne s'inquiète en voyant un minuteur.
- Proposez un bouton « Vérifier le statut » qui interroge la facture via l'API, utile si l'utilisateur revient plus tard.
- Gérez les paiements incomplets avec tact. Sur
invoice.underpaid, indiquez le montant manquant ; les paiements partiels s'additionnent jusqu'au total. - Gérez l'expiration. Sur
invoice.expired, proposez une nouvelle facture en un clic.
Abonnements et communautés payantes
Pour un accès mensuel, créez une nouvelle facture à la fin de chaque période et envoyez-la quelques jours avant sous forme de message de renouvellement. À l'arrivée de invoice.confirmed, prolongez la date d'accès de l'utilisateur dans votre base. Si aucun paiement n'arrive avant la fin de la période, retirez l'accès. Les virements crypto sont initiés par le payeur : un renouvellement est donc toujours une facture que l'utilisateur règle, il n'existe pas de prélèvement automatique comme avec une carte.
Check-list de fiabilité
- Idempotence : les webhooks sont renvoyés avec un délai croissant pendant des heures, un même événement peut donc arriver deux fois. Vérifiez si la commande est déjà livrée avant d'envoyer quoi que ce soit.
- Vérification de signature : contrôlez
X-Mistket-Signature(HMAC-SHA256 du timestamp et du corps brut avec votre secret de webhook) avant de faire confiance à un événement. - Un message dans le chat n'est pas une preuve. Un utilisateur qui écrit « j'ai payé » ou envoie une capture ne remplace jamais le webhook.
- Liste blanche d'IP : limitez l'accès à l'API au serveur de votre bot depuis le panneau marchand.
- Journaux : le tableau de bord affiche les journaux de livraison des webhooks, les montants attendus et reçus et les hashs de transaction pour le support.
Pour des exemples de code complets de signature et de vérification, consultez intégration d'une API de paiement crypto.
Pas encore de développeur ? Commencez par des liens de paiement
Si vous gérez manuellement un petit groupe payant, vous pouvez créer des factures dans le panneau marchand et envoyer le lien en message privé. Une fois le paiement confirmé dans le tableau de bord, ajoutez le membre à la main. Cela ne passe pas à l'échelle, mais permet de valider votre prix avant de développer un bot. Voir liens de paiement et factures crypto.
Lancez-vous
Prêt à accepter les paiements crypto dans votre propre bot Telegram ? Faites votre demande de compte marchand via Telegram @mistnetwork avec le lien de votre bot ou de votre communauté et votre volume prévu. Une fois validé, vous recevez vos clés API le jour même. Consultez les exemples de requêtes et de webhooks dans la section développeurs et gérez vos clés depuis l'espace marchand.


