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.

Mis à jour: 7 min de lecture
Accepter les paiements crypto dans un bot Telegram : conversation avec un bouton Payer en USDT et un message de confirmation

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

ComposantRôle
Bot Telegram (via la Bot API)Dialogue avec l'utilisateur : menus, boutons, messages de livraison
Votre backendStocke les commandes, appelle l'API de la passerelle, reçoit les webhooks, garde les secrets
Passerelle mistKETPage 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

  1. 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.
  2. Le backend crée une facture — un seul POST /api/v1/invoices signé avec le montant, la devise, votre identifiant de commande et une URL de callback.
  3. Le bot envoie un bouton de paiement — un bouton URL inline pointant vers le checkout_url renvoyé, avec une courte note : « Envoyez le montant exact sur le réseau de votre choix. »
  4. 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.
  5. Le webhook arrive — après les confirmations, votre callback reçoit un événement signé invoice.confirmed contenant votre identifiant de commande.
  6. 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.
À retenir : rattachez chaque facture à un identifiant Telegram via votre identifiant de commande. À l'arrivée du webhook, vous savez exactement à qui écrire.

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 :

TableChamps clésRôle
userstelegram_id, username, access_untilQui a accès et jusqu'à quand
ordersorder_id, telegram_id, product, amount, statusUne ligne par tentative d'achat
invoicesorder_id, invoice_uuid, checkout_url, network, paid_amountLien 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 » ; sur invoice.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.

Astuce : générez des liens d'invitation à usage unique pour les canaux privés après paiement, plutôt que de partager un lien permanent. Votre communauté payante reste ainsi réellement payante.

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.

Respectez les règles : ne vendez que des biens et services légitimes, respectez les conditions de Telegram pour les bots et les canaux et vérifiez vos obligations fiscales et réglementaires locales sur les revenus en crypto. Une passerelle de paiement est une infrastructure : elle ne change pas ce que vous avez le droit de vendre.

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.

Questions fréquentes

Un bot Telegram peut-il accepter des paiements en USDT ?
Oui. Le backend du bot crée une facture via l'API d'une passerelle, envoie le lien de paiement sous forme de bouton et livre automatiquement lorsqu'un webhook signé confirme le paiement.
L'utilisateur doit-il quitter Telegram pour payer ?
La page de paiement hébergée s'ouvre dans le navigateur intégré de Telegram. L'utilisateur paie depuis son application de portefeuille ou sa plateforme d'échange, puis revient dans la conversation pour la livraison.
Comment le bot sait-il qui a payé ?
Enregistrez l'identifiant Telegram avec votre identifiant de commande et transmettez celui-ci à la création de la facture. Le webhook contient l'identifiant de commande : vous savez donc à qui écrire.
Puis-je gérer des abonnements crypto pour un canal Telegram payant ?
Oui, en émettant une facture de renouvellement à chaque période et en prolongeant l'accès à l'arrivée d'invoice.confirmed. La crypto n'a pas de prélèvement automatique : l'utilisateur paie chaque renouvellement.
Quels réseaux privilégier pour les paiements dans un bot ?
TRON (TRC-20) et BNB Smart Chain (BEP-20) sont généralement les moins chers et confirment en une minute environ. mistKET prend aussi en charge l'USDT sur Ethereum et Arbitrum.

Articles liés