[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-construire-sur-ton-2026-paiements-crypto-telegram-mini-apps-ton-pay-sdk":3},{"article":4,"author":55},{"id":5,"category_id":6,"title":7,"slug":8,"excerpt":9,"content_md":10,"content_html":11,"locale":12,"author_id":13,"published":14,"published_at":15,"meta_title":16,"meta_description":17,"focus_keyword":18,"og_image":19,"canonical_url":19,"robots_meta":20,"created_at":15,"updated_at":15,"tags":21,"category_name":29,"related_articles":35},"d0000000-0000-0000-0000-000000000606","a0000000-0000-0000-0000-000000000064","Construire sur TON en 2026 : Paiements crypto dans les Telegram Mini Apps avec TON Pay SDK","construire-sur-ton-2026-paiements-crypto-telegram-mini-apps-ton-pay-sdk","L'ecosysteme TON a atteint plus de 500M d'utilisateurs actifs mensuels de Mini Apps, 3600+ applications et 400M+ portefeuilles. Ce guide detaille l'integration du TON Pay SDK pour les paiements crypto dans les Telegram Mini Apps, de l'authentification du portefeuille aux transferts Jetton.","## L'ecosysteme TON en 2026\n\nThe Open Network (TON) a evolue d'un projet blockchain issu de Telegram en l'un des ecosystemes de cryptomonnaies les plus activement utilises au monde. En mars 2026, les chiffres racontent une histoire convaincante :\n\n- **500M+ d'utilisateurs actifs mensuels** a travers les Telegram Mini Apps\n- **3 600+ Mini Apps actives** repertoriees dans le catalogue Telegram Mini App\n- **400M+ de portefeuilles TON** crees via Telegram Wallet, Tonkeeper et TON Space\n- **4,2 milliards $ de valeur totale verrouillee** dans les protocoles DeFi TON\n- **12M de transactions on-chain quotidiennes** sur le mainnet TON\n\nCes chiffres font de TON la blockchain la plus largement distribuee en nombre d'utilisateurs actifs, depassant Ethereum (y compris les L2) et Solana. La croissance est portee par un seul facteur : **l'integration Telegram**. Avec plus de 950M d'utilisateurs actifs mensuels de Telegram dans le monde, meme un faible taux de conversion en utilisation de Mini Apps et de portefeuilles produit des chiffres massifs.\n\n### Pourquoi TON pour les paiements ?\n\nPour les developpeurs construisant des applications avec des fonctionnalites de paiement, TON offre trois avantages structurels par rapport aux autres blockchains :\n\n1. **Distribution** — Votre Mini App est decouvrable dans Telegram, la plateforme de messagerie que vos utilisateurs utilisent deja quotidiennement. Pas de soumission a l'app store, pas de friction de telechargement, pas d'installation de portefeuille necessaire.\n2. **Frais quasi nuls** — Les frais de transaction TON sont en moyenne de 0,005-0,01 $, rendant les micropaiements et les achats in-app economiquement viables sans batching ni complexite L2.\n3. **Finalite sub-seconde** — L'architecture shardee de TON atteint des temps de bloc d'environ 5 secondes avec une finalite pratique en 1-2 blocs. Les utilisateurs voient les paiements confirmes en 10 secondes.\n\n## TON Pay SDK : Apercu de l'architecture\n\nTON Pay SDK est la bibliotheque officielle d'integration des paiements pour les Telegram Mini Apps. Publiee au Q4 2025, elle fournit une API unifiee pour :\n\n- **TON Connect** — authentification du portefeuille\n- **Paiements Toncoin** — transferts TON natifs\n- **Paiements Jetton** — standard de jetons TRC-20 : USDT, NOT et jetons personnalises\n- **Facturation par abonnement** — charges Jetton recurrentes via des smart contracts pre-autorises\n- **Recus de paiement** — preuve de paiement on-chain avec metadonnees\n\nLe SDK est disponible en tant que package npm (`@tonconnect\u002Fpay-sdk`) et prend en charge l'utilisation cote client (navigateur) et cote serveur (Node.js).\n\n### Prerequis\n\nAvant d'integrer TON Pay SDK, assurez-vous d'avoir :\n\n1. Un Bot Telegram enregistre avec des capacites Mini App (`@BotFather` → `\u002Fnewapp`)\n2. Une adresse de portefeuille TON pour recevoir les paiements (portefeuille marchand)\n3. Node.js 20+ et TypeScript 5.x pour l'environnement de developpement\n4. Une familiarite de base avec l'API Telegram Mini App (`window.Telegram.WebApp`)\n\n## Etape 1 : Authentification du portefeuille TON Connect\n\nTON Connect est le protocole standard pour connecter les portefeuilles TON aux dApps et Mini Apps. Il sert de couche d'authentification — avant d'accepter les paiements, vous devez savoir depuis quel portefeuille l'utilisateur souhaite payer.\n\n### Configuration de TON Connect\n\n```typescript\nimport { TonConnect } from \"@tonconnect\u002Fsdk\";\nimport { TonPaySDK } from \"@tonconnect\u002Fpay-sdk\";\n\n\u002F\u002F Initialiser TON Connect avec votre manifeste\nconst tonConnect = new TonConnect({\n  manifestUrl: \"https:\u002F\u002Fyourapp.com\u002Ftonconnect-manifest.json\",\n});\n\n\u002F\u002F Verifier si l'utilisateur a un portefeuille precedemment connecte\nconst existingWallet = tonConnect.wallet;\nif (existingWallet) {\n  console.log(\"Connecte :\", existingWallet.account.address);\n}\n```\n\n### Flux de connexion du portefeuille\n\n```typescript\nimport { toUserFriendlyAddress } from \"@tonconnect\u002Fsdk\";\n\nasync function connectWallet(): Promise\u003Cstring> {\n  const walletList = await tonConnect.getWallets();\n\n  \u002F\u002F Pour les Telegram Mini Apps, prioriser TON Space (integre)\n  const tonSpace = walletList.find(\n    (w) => w.appName === \"tonspace\"\n  );\n\n  if (tonSpace) {\n    await tonConnect.connect({\n      jsBridgeKey: tonSpace.jsBridgeKey,\n    });\n  } else {\n    const universalLink = tonConnect.connect({\n      universalLink: walletList[0].universalLink,\n      bridgeUrl: walletList[0].bridgeUrl,\n    });\n    window.open(universalLink, \"_blank\");\n  }\n\n  return new Promise((resolve) => {\n    tonConnect.onStatusChange((wallet) => {\n      if (wallet) {\n        const address = toUserFriendlyAddress(\n          wallet.account.address\n        );\n        resolve(address);\n      }\n    });\n  });\n}\n```\n\n### Persistance de session\n\nLes sessions TON Connect persistent entre les redemarrages de Mini App. Le SDK stocke les donnees de session dans `localStorage` :\n\n```typescript\nasync function initAuth(): Promise\u003Cstring | null> {\n  await tonConnect.restoreConnection();\n  if (tonConnect.connected && tonConnect.wallet) {\n    return toUserFriendlyAddress(\n      tonConnect.wallet.account.address\n    );\n  }\n  return null;\n}\n```\n\n## Etape 2 : Accepter les paiements Toncoin\n\n```typescript\nimport { TonPaySDK, PaymentRequest } from \"@tonconnect\u002Fpay-sdk\";\n\nconst tonPay = new TonPaySDK({\n  tonConnect,\n  merchantWallet: \"EQD...adresse-marchand\",\n  webhookUrl: \"https:\u002F\u002Fyourapi.com\u002Fwebhooks\u002Fton-pay\",\n});\n\nasync function requestPayment(\n  amount: number,\n  orderId: string\n): Promise\u003Cstring> {\n  const payment: PaymentRequest = {\n    amount: amount.toString(),\n    payload: orderId,\n    description: `Commande #${orderId}`,\n  };\n\n  const result = await tonPay.requestPayment(payment);\n\n  if (result.status === \"confirmed\") {\n    return result.txHash;\n  } else if (result.status === \"rejected\") {\n    throw new Error(\"Paiement refuse par l'utilisateur\");\n  } else {\n    throw new Error(`Echec du paiement : ${result.error}`);\n  }\n}\n```\n\n### Verification cote serveur\n\nNe faites jamais confiance aux confirmations de paiement cote client seules. Verifiez chaque paiement sur votre backend :\n\n```typescript\nimport { TonClient } from \"@ton\u002Fton\";\nimport { Address, fromNano } from \"@ton\u002Fcore\";\n\nasync function verifyPayment(\n  txHash: string,\n  expectedAmount: string,\n  expectedPayload: string,\n  merchantAddress: string\n): Promise\u003Cboolean> {\n  const tx = await tonClient.getTransaction(\n    Address.parse(merchantAddress),\n    txHash\n  );\n  if (!tx) return false;\n\n  const receivedAmount = fromNano(tx.inMessage?.value ?? 0n);\n  if (parseFloat(receivedAmount) \u003C parseFloat(expectedAmount)) return false;\n\n  const payload = tx.inMessage?.body?.toString() ?? \"\";\n  if (payload !== expectedPayload) return false;\n\n  return true;\n}\n```\n\n## Etape 3 : Paiements Jetton (jetons)\n\nLes Jettons sont l'equivalent TON des jetons ERC-20. Le Jetton le plus courant pour les paiements est **USDT sur TON** (Tether), avec plus de 1,2 milliard $ en circulation sur le reseau TON en mars 2026.\n\n```typescript\nimport { JettonPaymentRequest } from \"@tonconnect\u002Fpay-sdk\";\n\nasync function requestUSDTPayment(\n  amount: number,\n  orderId: string\n): Promise\u003Cstring> {\n  const USDT_MASTER = \"EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs\";\n\n  const payment: JettonPaymentRequest = {\n    jettonMaster: USDT_MASTER,\n    amount: (amount * 1e6).toString(),\n    payload: orderId,\n    description: `$${amount} USDT — Commande #${orderId}`,\n    forwardTonAmount: \"50000000\",\n  };\n\n  const result = await tonPay.requestJettonPayment(payment);\n  if (result.status === \"confirmed\") return result.txHash;\n  throw new Error(`Echec du paiement Jetton : ${result.error}`);\n}\n```\n\n## Etape 4 : Facturation par abonnement\n\n```typescript\nimport { SubscriptionRequest } from \"@tonconnect\u002Fpay-sdk\";\n\nasync function createSubscription(userId: string): Promise\u003Cstring> {\n  const subscription: SubscriptionRequest = {\n    jettonMaster: USDT_MASTER,\n    amount: \"4990000\",\n    period: 30 * 24 * 60 * 60,\n    maxCharges: 12,\n    payload: `sub-${userId}`,\n    description: \"Premium — 4,99 $\u002Fmois\",\n  };\n\n  const result = await tonPay.createSubscription(subscription);\n  if (result.status === \"active\") return result.subscriptionAddress;\n  throw new Error(\"Echec de la creation de l'abonnement\");\n}\n```\n\n## Strategies de monetisation pour Telegram Mini Apps\n\nLes paiements ne sont qu'une piece du puzzle de la monetisation. Voici comment les Mini Apps a succes combinent plusieurs sources de revenus :\n\n### 1. Plateforme publicitaire Telegram\n\nLa plateforme publicitaire native de Telegram permet aux Mini Apps d'afficher des publicites et de generer des revenus en TON. Les Mini Apps les plus performantes rapportent **5-15 $ d'eCPM** pour les publicites video recompensees dans les pays de Tier 1.\n\n### 2. Achats in-app via Telegram Stars\n\nTelegram Stars est la monnaie virtuelle integree de Telegram, disponible depuis 2024. Les developpeurs recoivent 70% des revenus Stars.\n\n### 3. Monetisation crypto-native\n\n- **Acces a jeton requis** — exiger la detention d'un Jetton ou SBT specifique pour acceder aux fonctionnalites premium\n- **Marketplace NFT** — vente de collectibles numeriques (les TON NFT utilisent le standard TEP-62)\n- **Recompenses de staking** — permettre aux utilisateurs de staker TON ou Jettons dans le smart contract de votre Mini App\n- **Commissions de parrainage** — payer des bonus de parrainage en Jettons via des smart contracts\n\n### Comparaison des modeles de monetisation\n\n| Modele | Methode de paiement | Part developpeur | Friction utilisateur | Ideal pour |\n|--------|---------------------|------------------|---------------------|------------|\n| Publicites Telegram | Impressions pub | 50-70% du revenu pub | Faible (passif) | Apps gratuites avec DAU eleve |\n| Telegram Stars | Fiat → Stars | 70% | Moyenne (achat in-app) | Biens numeriques, jeux casual |\n| TON Pay (Toncoin) | Portefeuille crypto | 100% (moins le gas) | Elevee (portefeuille requis) | Utilisateurs crypto-natifs |\n| TON Pay (USDT) | Portefeuille crypto | 100% (moins le gas) | Elevee (portefeuille requis) | Transactions a valeur stable |\n| Abonnements | Portefeuille crypto | 100% (moins le gas) | Moyenne (approbation unique) | SaaS, contenu premium |\n\n## Checklist de deploiement en production\n\n1. **Securite du portefeuille marchand** — utilisez un portefeuille multisig (ex. TON Safe).\n2. **Verification des paiements** — toujours verifier cote serveur.\n3. **Gestion des erreurs** — gerez les timeouts, transactions rejetees et soldes insuffisants.\n4. **Politique de remboursement** — les transactions TON sont irreversibles.\n5. **Limitation de debit** — protegez votre endpoint webhook.\n6. **Journalisation** — enregistrez tous les evenements de paiement.\n7. **Tests** — utilisez le testnet TON pour le developpement.\n\n## Questions frequentes\n\n### Combien d'utilisateurs les TON Mini Apps peuvent-elles atteindre ?\n\nTelegram compte plus de 950M d'utilisateurs actifs mensuels. Les Mini Apps les plus populaires (Notcoin, Hamster Kombat) ont atteint 30-40M d'utilisateurs.\n\n### Quels sont les frais de transaction pour les paiements TON ?\n\nLes transferts TON natifs coutent environ 0,005-0,01 TON (0,01-0,02 $ aux prix actuels). Les transferts Jetton sont legerement plus couteux, generalement 0,03-0,05 TON (0,06-0,10 $).\n\n### Peut-on accepter des paiements fiat dans une Telegram Mini App ?\n\nOui, via Telegram Stars (integre) ou des prestataires de paiement tiers.\n\n### Le KYC est-il requis pour accepter les paiements TON ?\n\nPour le marchand : cela depend de votre juridiction et du volume de transactions. Pour les utilisateurs : la creation d'un portefeuille TON ne necessite pas de KYC.\n\n### Quelle est la difference entre TON et Ethereum pour les paiements ?\n\nTON offre des frais plus bas (0,01 $ vs 0,50-5,00 $ sur Ethereum L1), une finalite plus rapide (10 secondes vs 12-15 minutes) et une distribution Telegram integree. Ethereum a un ecosysteme DeFi plus large et des garanties de decentralisation plus fortes.\n\n### Comment gerer les litiges et les retours de fonds ?\n\nLes paiements blockchain sont irreversibles. Vous devez implementer votre propre systeme de remboursement et de resolution des litiges.","\u003Ch2 id=\"l-ecosysteme-ton-en-2026\">L’ecosysteme TON en 2026\u003C\u002Fh2>\n\u003Cp>The Open Network (TON) a evolue d’un projet blockchain issu de Telegram en l’un des ecosystemes de cryptomonnaies les plus activement utilises au monde. En mars 2026, les chiffres racontent une histoire convaincante :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>500M+ d’utilisateurs actifs mensuels\u003C\u002Fstrong> a travers les Telegram Mini Apps\u003C\u002Fli>\n\u003Cli>\u003Cstrong>3 600+ Mini Apps actives\u003C\u002Fstrong> repertoriees dans le catalogue Telegram Mini App\u003C\u002Fli>\n\u003Cli>\u003Cstrong>400M+ de portefeuilles TON\u003C\u002Fstrong> crees via Telegram Wallet, Tonkeeper et TON Space\u003C\u002Fli>\n\u003Cli>\u003Cstrong>4,2 milliards $ de valeur totale verrouillee\u003C\u002Fstrong> dans les protocoles DeFi TON\u003C\u002Fli>\n\u003Cli>\u003Cstrong>12M de transactions on-chain quotidiennes\u003C\u002Fstrong> sur le mainnet TON\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Ces chiffres font de TON la blockchain la plus largement distribuee en nombre d’utilisateurs actifs, depassant Ethereum (y compris les L2) et Solana. La croissance est portee par un seul facteur : \u003Cstrong>l’integration Telegram\u003C\u002Fstrong>. Avec plus de 950M d’utilisateurs actifs mensuels de Telegram dans le monde, meme un faible taux de conversion en utilisation de Mini Apps et de portefeuilles produit des chiffres massifs.\u003C\u002Fp>\n\u003Ch3>Pourquoi TON pour les paiements ?\u003C\u002Fh3>\n\u003Cp>Pour les developpeurs construisant des applications avec des fonctionnalites de paiement, TON offre trois avantages structurels par rapport aux autres blockchains :\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>Distribution\u003C\u002Fstrong> — Votre Mini App est decouvrable dans Telegram, la plateforme de messagerie que vos utilisateurs utilisent deja quotidiennement. Pas de soumission a l’app store, pas de friction de telechargement, pas d’installation de portefeuille necessaire.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Frais quasi nuls\u003C\u002Fstrong> — Les frais de transaction TON sont en moyenne de 0,005-0,01 $, rendant les micropaiements et les achats in-app economiquement viables sans batching ni complexite L2.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Finalite sub-seconde\u003C\u002Fstrong> — L’architecture shardee de TON atteint des temps de bloc d’environ 5 secondes avec une finalite pratique en 1-2 blocs. Les utilisateurs voient les paiements confirmes en 10 secondes.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch2 id=\"ton-pay-sdk-apercu-de-l-architecture\">TON Pay SDK : Apercu de l’architecture\u003C\u002Fh2>\n\u003Cp>TON Pay SDK est la bibliotheque officielle d’integration des paiements pour les Telegram Mini Apps. Publiee au Q4 2025, elle fournit une API unifiee pour :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>TON Connect\u003C\u002Fstrong> — authentification du portefeuille\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Paiements Toncoin\u003C\u002Fstrong> — transferts TON natifs\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Paiements Jetton\u003C\u002Fstrong> — standard de jetons TRC-20 : USDT, NOT et jetons personnalises\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Facturation par abonnement\u003C\u002Fstrong> — charges Jetton recurrentes via des smart contracts pre-autorises\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Recus de paiement\u003C\u002Fstrong> — preuve de paiement on-chain avec metadonnees\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Le SDK est disponible en tant que package npm (\u003Ccode>@tonconnect\u002Fpay-sdk\u003C\u002Fcode>) et prend en charge l’utilisation cote client (navigateur) et cote serveur (Node.js).\u003C\u002Fp>\n\u003Ch3>Prerequis\u003C\u002Fh3>\n\u003Cp>Avant d’integrer TON Pay SDK, assurez-vous d’avoir :\u003C\u002Fp>\n\u003Col>\n\u003Cli>Un Bot Telegram enregistre avec des capacites Mini App (\u003Ccode>@BotFather\u003C\u002Fcode> → \u003Ccode>\u002Fnewapp\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>Une adresse de portefeuille TON pour recevoir les paiements (portefeuille marchand)\u003C\u002Fli>\n\u003Cli>Node.js 20+ et TypeScript 5.x pour l’environnement de developpement\u003C\u002Fli>\n\u003Cli>Une familiarite de base avec l’API Telegram Mini App (\u003Ccode>window.Telegram.WebApp\u003C\u002Fcode>)\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch2 id=\"etape-1-authentification-du-portefeuille-ton-connect\">Etape 1 : Authentification du portefeuille TON Connect\u003C\u002Fh2>\n\u003Cp>TON Connect est le protocole standard pour connecter les portefeuilles TON aux dApps et Mini Apps. Il sert de couche d’authentification — avant d’accepter les paiements, vous devez savoir depuis quel portefeuille l’utilisateur souhaite payer.\u003C\u002Fp>\n\u003Ch3>Configuration de TON Connect\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-typescript\">import { TonConnect } from \"@tonconnect\u002Fsdk\";\nimport { TonPaySDK } from \"@tonconnect\u002Fpay-sdk\";\n\n\u002F\u002F Initialiser TON Connect avec votre manifeste\nconst tonConnect = new TonConnect({\n  manifestUrl: \"https:\u002F\u002Fyourapp.com\u002Ftonconnect-manifest.json\",\n});\n\n\u002F\u002F Verifier si l'utilisateur a un portefeuille precedemment connecte\nconst existingWallet = tonConnect.wallet;\nif (existingWallet) {\n  console.log(\"Connecte :\", existingWallet.account.address);\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Flux de connexion du portefeuille\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-typescript\">import { toUserFriendlyAddress } from \"@tonconnect\u002Fsdk\";\n\nasync function connectWallet(): Promise&lt;string&gt; {\n  const walletList = await tonConnect.getWallets();\n\n  \u002F\u002F Pour les Telegram Mini Apps, prioriser TON Space (integre)\n  const tonSpace = walletList.find(\n    (w) =&gt; w.appName === \"tonspace\"\n  );\n\n  if (tonSpace) {\n    await tonConnect.connect({\n      jsBridgeKey: tonSpace.jsBridgeKey,\n    });\n  } else {\n    const universalLink = tonConnect.connect({\n      universalLink: walletList[0].universalLink,\n      bridgeUrl: walletList[0].bridgeUrl,\n    });\n    window.open(universalLink, \"_blank\");\n  }\n\n  return new Promise((resolve) =&gt; {\n    tonConnect.onStatusChange((wallet) =&gt; {\n      if (wallet) {\n        const address = toUserFriendlyAddress(\n          wallet.account.address\n        );\n        resolve(address);\n      }\n    });\n  });\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Persistance de session\u003C\u002Fh3>\n\u003Cp>Les sessions TON Connect persistent entre les redemarrages de Mini App. Le SDK stocke les donnees de session dans \u003Ccode>localStorage\u003C\u002Fcode> :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-typescript\">async function initAuth(): Promise&lt;string | null&gt; {\n  await tonConnect.restoreConnection();\n  if (tonConnect.connected &amp;&amp; tonConnect.wallet) {\n    return toUserFriendlyAddress(\n      tonConnect.wallet.account.address\n    );\n  }\n  return null;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2 id=\"etape-2-accepter-les-paiements-toncoin\">Etape 2 : Accepter les paiements Toncoin\u003C\u002Fh2>\n\u003Cpre>\u003Ccode class=\"language-typescript\">import { TonPaySDK, PaymentRequest } from \"@tonconnect\u002Fpay-sdk\";\n\nconst tonPay = new TonPaySDK({\n  tonConnect,\n  merchantWallet: \"EQD...adresse-marchand\",\n  webhookUrl: \"https:\u002F\u002Fyourapi.com\u002Fwebhooks\u002Fton-pay\",\n});\n\nasync function requestPayment(\n  amount: number,\n  orderId: string\n): Promise&lt;string&gt; {\n  const payment: PaymentRequest = {\n    amount: amount.toString(),\n    payload: orderId,\n    description: `Commande #${orderId}`,\n  };\n\n  const result = await tonPay.requestPayment(payment);\n\n  if (result.status === \"confirmed\") {\n    return result.txHash;\n  } else if (result.status === \"rejected\") {\n    throw new Error(\"Paiement refuse par l'utilisateur\");\n  } else {\n    throw new Error(`Echec du paiement : ${result.error}`);\n  }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Verification cote serveur\u003C\u002Fh3>\n\u003Cp>Ne faites jamais confiance aux confirmations de paiement cote client seules. Verifiez chaque paiement sur votre backend :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-typescript\">import { TonClient } from \"@ton\u002Fton\";\nimport { Address, fromNano } from \"@ton\u002Fcore\";\n\nasync function verifyPayment(\n  txHash: string,\n  expectedAmount: string,\n  expectedPayload: string,\n  merchantAddress: string\n): Promise&lt;boolean&gt; {\n  const tx = await tonClient.getTransaction(\n    Address.parse(merchantAddress),\n    txHash\n  );\n  if (!tx) return false;\n\n  const receivedAmount = fromNano(tx.inMessage?.value ?? 0n);\n  if (parseFloat(receivedAmount) &lt; parseFloat(expectedAmount)) return false;\n\n  const payload = tx.inMessage?.body?.toString() ?? \"\";\n  if (payload !== expectedPayload) return false;\n\n  return true;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2 id=\"etape-3-paiements-jetton-jetons\">Etape 3 : Paiements Jetton (jetons)\u003C\u002Fh2>\n\u003Cp>Les Jettons sont l’equivalent TON des jetons ERC-20. Le Jetton le plus courant pour les paiements est \u003Cstrong>USDT sur TON\u003C\u002Fstrong> (Tether), avec plus de 1,2 milliard $ en circulation sur le reseau TON en mars 2026.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-typescript\">import { JettonPaymentRequest } from \"@tonconnect\u002Fpay-sdk\";\n\nasync function requestUSDTPayment(\n  amount: number,\n  orderId: string\n): Promise&lt;string&gt; {\n  const USDT_MASTER = \"EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs\";\n\n  const payment: JettonPaymentRequest = {\n    jettonMaster: USDT_MASTER,\n    amount: (amount * 1e6).toString(),\n    payload: orderId,\n    description: `$${amount} USDT — Commande #${orderId}`,\n    forwardTonAmount: \"50000000\",\n  };\n\n  const result = await tonPay.requestJettonPayment(payment);\n  if (result.status === \"confirmed\") return result.txHash;\n  throw new Error(`Echec du paiement Jetton : ${result.error}`);\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2 id=\"etape-4-facturation-par-abonnement\">Etape 4 : Facturation par abonnement\u003C\u002Fh2>\n\u003Cpre>\u003Ccode class=\"language-typescript\">import { SubscriptionRequest } from \"@tonconnect\u002Fpay-sdk\";\n\nasync function createSubscription(userId: string): Promise&lt;string&gt; {\n  const subscription: SubscriptionRequest = {\n    jettonMaster: USDT_MASTER,\n    amount: \"4990000\",\n    period: 30 * 24 * 60 * 60,\n    maxCharges: 12,\n    payload: `sub-${userId}`,\n    description: \"Premium — 4,99 $\u002Fmois\",\n  };\n\n  const result = await tonPay.createSubscription(subscription);\n  if (result.status === \"active\") return result.subscriptionAddress;\n  throw new Error(\"Echec de la creation de l'abonnement\");\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2 id=\"strategies-de-monetisation-pour-telegram-mini-apps\">Strategies de monetisation pour Telegram Mini Apps\u003C\u002Fh2>\n\u003Cp>Les paiements ne sont qu’une piece du puzzle de la monetisation. Voici comment les Mini Apps a succes combinent plusieurs sources de revenus :\u003C\u002Fp>\n\u003Ch3>1. Plateforme publicitaire Telegram\u003C\u002Fh3>\n\u003Cp>La plateforme publicitaire native de Telegram permet aux Mini Apps d’afficher des publicites et de generer des revenus en TON. Les Mini Apps les plus performantes rapportent \u003Cstrong>5-15 $ d’eCPM\u003C\u002Fstrong> pour les publicites video recompensees dans les pays de Tier 1.\u003C\u002Fp>\n\u003Ch3>2. Achats in-app via Telegram Stars\u003C\u002Fh3>\n\u003Cp>Telegram Stars est la monnaie virtuelle integree de Telegram, disponible depuis 2024. Les developpeurs recoivent 70% des revenus Stars.\u003C\u002Fp>\n\u003Ch3>3. Monetisation crypto-native\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Acces a jeton requis\u003C\u002Fstrong> — exiger la detention d’un Jetton ou SBT specifique pour acceder aux fonctionnalites premium\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Marketplace NFT\u003C\u002Fstrong> — vente de collectibles numeriques (les TON NFT utilisent le standard TEP-62)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Recompenses de staking\u003C\u002Fstrong> — permettre aux utilisateurs de staker TON ou Jettons dans le smart contract de votre Mini App\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Commissions de parrainage\u003C\u002Fstrong> — payer des bonus de parrainage en Jettons via des smart contracts\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Comparaison des modeles de monetisation\u003C\u002Fh3>\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Modele\u003C\u002Fth>\u003Cth>Methode de paiement\u003C\u002Fth>\u003Cth>Part developpeur\u003C\u002Fth>\u003Cth>Friction utilisateur\u003C\u002Fth>\u003Cth>Ideal pour\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\n\u003Ctr>\u003Ctd>Publicites Telegram\u003C\u002Ftd>\u003Ctd>Impressions pub\u003C\u002Ftd>\u003Ctd>50-70% du revenu pub\u003C\u002Ftd>\u003Ctd>Faible (passif)\u003C\u002Ftd>\u003Ctd>Apps gratuites avec DAU eleve\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>Telegram Stars\u003C\u002Ftd>\u003Ctd>Fiat → Stars\u003C\u002Ftd>\u003Ctd>70%\u003C\u002Ftd>\u003Ctd>Moyenne (achat in-app)\u003C\u002Ftd>\u003Ctd>Biens numeriques, jeux casual\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>TON Pay (Toncoin)\u003C\u002Ftd>\u003Ctd>Portefeuille crypto\u003C\u002Ftd>\u003Ctd>100% (moins le gas)\u003C\u002Ftd>\u003Ctd>Elevee (portefeuille requis)\u003C\u002Ftd>\u003Ctd>Utilisateurs crypto-natifs\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>TON Pay (USDT)\u003C\u002Ftd>\u003Ctd>Portefeuille crypto\u003C\u002Ftd>\u003Ctd>100% (moins le gas)\u003C\u002Ftd>\u003Ctd>Elevee (portefeuille requis)\u003C\u002Ftd>\u003Ctd>Transactions a valeur stable\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>Abonnements\u003C\u002Ftd>\u003Ctd>Portefeuille crypto\u003C\u002Ftd>\u003Ctd>100% (moins le gas)\u003C\u002Ftd>\u003Ctd>Moyenne (approbation unique)\u003C\u002Ftd>\u003Ctd>SaaS, contenu premium\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Ch2 id=\"checklist-de-deploiement-en-production\">Checklist de deploiement en production\u003C\u002Fh2>\n\u003Col>\n\u003Cli>\u003Cstrong>Securite du portefeuille marchand\u003C\u002Fstrong> — utilisez un portefeuille multisig (ex. TON Safe).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Verification des paiements\u003C\u002Fstrong> — toujours verifier cote serveur.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Gestion des erreurs\u003C\u002Fstrong> — gerez les timeouts, transactions rejetees et soldes insuffisants.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Politique de remboursement\u003C\u002Fstrong> — les transactions TON sont irreversibles.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Limitation de debit\u003C\u002Fstrong> — protegez votre endpoint webhook.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Journalisation\u003C\u002Fstrong> — enregistrez tous les evenements de paiement.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Tests\u003C\u002Fstrong> — utilisez le testnet TON pour le developpement.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch2 id=\"questions-frequentes\">Questions frequentes\u003C\u002Fh2>\n\u003Ch3 id=\"combien-d-utilisateurs-les-ton-mini-apps-peuvent-elles-atteindre\">Combien d’utilisateurs les TON Mini Apps peuvent-elles atteindre ?\u003C\u002Fh3>\n\u003Cp>Telegram compte plus de 950M d’utilisateurs actifs mensuels. Les Mini Apps les plus populaires (Notcoin, Hamster Kombat) ont atteint 30-40M d’utilisateurs.\u003C\u002Fp>\n\u003Ch3 id=\"quels-sont-les-frais-de-transaction-pour-les-paiements-ton\">Quels sont les frais de transaction pour les paiements TON ?\u003C\u002Fh3>\n\u003Cp>Les transferts TON natifs coutent environ 0,005-0,01 TON (0,01-0,02 $ aux prix actuels). Les transferts Jetton sont legerement plus couteux, generalement 0,03-0,05 TON (0,06-0,10 $).\u003C\u002Fp>\n\u003Ch3 id=\"peut-on-accepter-des-paiements-fiat-dans-une-telegram-mini-app\">Peut-on accepter des paiements fiat dans une Telegram Mini App ?\u003C\u002Fh3>\n\u003Cp>Oui, via Telegram Stars (integre) ou des prestataires de paiement tiers.\u003C\u002Fp>\n\u003Ch3 id=\"le-kyc-est-il-requis-pour-accepter-les-paiements-ton\">Le KYC est-il requis pour accepter les paiements TON ?\u003C\u002Fh3>\n\u003Cp>Pour le marchand : cela depend de votre juridiction et du volume de transactions. Pour les utilisateurs : la creation d’un portefeuille TON ne necessite pas de KYC.\u003C\u002Fp>\n\u003Ch3 id=\"quelle-est-la-difference-entre-ton-et-ethereum-pour-les-paiements\">Quelle est la difference entre TON et Ethereum pour les paiements ?\u003C\u002Fh3>\n\u003Cp>TON offre des frais plus bas (0,01 $ vs 0,50-5,00 $ sur Ethereum L1), une finalite plus rapide (10 secondes vs 12-15 minutes) et une distribution Telegram integree. Ethereum a un ecosysteme DeFi plus large et des garanties de decentralisation plus fortes.\u003C\u002Fp>\n\u003Ch3 id=\"comment-gerer-les-litiges-et-les-retours-de-fonds\">Comment gerer les litiges et les retours de fonds ?\u003C\u002Fh3>\n\u003Cp>Les paiements blockchain sont irreversibles. Vous devez implementer votre propre systeme de remboursement et de resolution des litiges.\u003C\u002Fp>\n","fr","b0000000-0000-0000-0000-000000000001",true,"2026-03-28T10:44:45.050712Z","Construire sur TON en 2026 : Paiements crypto dans les Telegram Mini Apps","Integrez TON Pay SDK dans les Telegram Mini Apps. Guide etape par etape : authentification TON Connect, paiements Toncoin et Jetton, abonnements et strategies de monetisation.","TON Pay SDK Telegram Mini Apps",null,"index, follow",[22,27,31],{"id":23,"name":24,"slug":25,"created_at":26},"c0000000-0000-0000-0000-000000000015","TON","ton","2026-03-28T10:44:21.513630Z",{"id":28,"name":29,"slug":30,"created_at":26},"c0000000-0000-0000-0000-000000000010","Telegram","telegram",{"id":32,"name":33,"slug":34,"created_at":26},"c0000000-0000-0000-0000-000000000009","Web3","web3",[36,43,49],{"id":37,"title":38,"slug":39,"excerpt":40,"locale":12,"category_name":41,"published_at":42},"d0000000-0000-0000-0000-000000000608","La couche d'interoperabilite Ethereum : comment 55+ L2 deviennent une seule chaine","couche-interoperabilite-ethereum-55-l2-deviennent-une-seule-chaine","Ethereum compte 55+ rollups Layer 2, fragmentant la liquidite et l'experience utilisateur. La couche d'interoperabilite Ethereum — combinant messagerie cross-rollup, sequenceurs partages et based rollups — vise a les unifier en un reseau composable unique.","Blockchain","2026-03-28T10:44:45.078068Z",{"id":44,"title":45,"slug":46,"excerpt":47,"locale":12,"category_name":41,"published_at":48},"d0000000-0000-0000-0000-000000000607","Les preuves ZK au-dela des rollups : l'inference IA verifiable sur Ethereum","preuves-zk-au-dela-des-rollups-inference-ia-verifiable-ethereum","Les preuves a connaissance nulle ne sont plus un simple outil de scalabilite. En 2026, zkML permet l'inference IA verifiable on-chain, les ZK coprocesseurs deplacent le calcul lourd hors chaine avec verification on-chain, et de nouveaux systemes de preuve comme SP1 et Jolt rendent tout cela pratique.","2026-03-28T10:44:45.071974Z",{"id":50,"title":51,"slug":52,"excerpt":53,"locale":12,"category_name":41,"published_at":54},"d0000000-0000-0000-0000-000000000584","EIP-7702 en pratique : construire des flux de comptes intelligents apres Pectra","eip-7702-en-pratique-construire-flux-comptes-intelligents-apres-pectra","EIP-7702 permet a tout EOA Ethereum d'agir temporairement comme un contrat intelligent dans une seule transaction. Voici comment implementer les transactions par lots, le parrainage de gas et la recuperation sociale avec la nouvelle primitive d'account abstraction.","2026-03-28T10:44:43.586053Z",{"id":13,"name":56,"slug":57,"bio":58,"photo_url":19,"linkedin":19,"role":59,"created_at":60,"updated_at":60},"Open Soft Team","open-soft-team","The engineering team at Open Soft, building premium software solutions from Bali, Indonesia.","Engineering Team","2026-03-28T08:31:22.226811Z"]