Telegram Bot 支付整合:加密貨幣收款指南
Telegram 與 TON(The Open Network)區塊鏈的深度整合,讓 Telegram Bot 成為加密貨幣支付的天然入口。用戶可以在對話中直接完成付款,不需要跳轉到外部網站或下載額外的錢包應用。
對於需要接受加密貨幣付款的業者來說,這不只是技術上的便利,更是商業模式上的突破。本文涵蓋從基礎設定到進階整合的完整指南。
為什麼在 Telegram 中接受加密貨幣
市場趨勢
2026 年的加密貨幣支付市場已經和幾年前大不相同:
穩定幣普及:USDT、USDC 等穩定幣解決了價格波動的問題。商家收到的就是等值美元,不需要承擔幣價風險。
用戶習慣養成:Telegram 上數億用戶中,相當比例已經擁有加密錢包。特別是在中東、東南亞、東歐等地區,加密支付已經是日常。
手續費優勢:傳統信用卡手續費 2.5-3.5%,加密貨幣轉帳在 TON 網路上的手續費不到 $0.01。對於高頻小額交易,成本差距巨大。
跨境無障礙:不需要國際匯款、不需要外幣帳戶、不需要等 3-5 個工作天。加密貨幣轉帳是即時的、全球的。
適用場景
| 場景 | 說明 | 優勢 |
|---|---|---|
| 數位產品銷售 | 課程、模板、電子書 | 即時交付、零退款詐騙 |
| 訂閱制服務 | SaaS、會員制 | 自動續訂、全球用戶 |
| iGaming 存款 | 玩家儲值 | 快速入金、隱私保護 |
| 自由接案 | 設計、開發、行銷 | 跨境收款、低手續費 |
| NFT/數位收藏品 | 限量內容、會員卡 | 鏈上驗證、可轉讓性 |
| 打賞/贊助 | 內容創作者 | 直接支持、透明 |
TON 支付整合
TON 生態系簡介
TON 是 Telegram 創辦人 Pavel Durov 最初發起的區塊鏈項目。雖然後來因監管壓力由社群接手開發,但 TON 與 Telegram 的整合仍然是所有區塊鏈中最深的:
- Telegram Wallet:內建在 Telegram 中的 TON 錢包
- TON Connect:用於 dApp 和 Mini App 的錢包連接協議
- TON Payments:微支付通道,適合高頻小額交易
- TON DNS:人類可讀的地址系統(例如
redclaw.ton)
基本收款 Bot 實作
以下是使用 TON 接收付款的基本架構:
const TelegramBot = require('node-telegram-bot-api');
const { TonClient, WalletContractV4 } = require('@ton/ton');
const bot = new TelegramBot(process.env.TELEGRAM_BOT_TOKEN, { polling: true });
const tonClient = new TonClient({
endpoint: 'https://toncenter.com/api/v2/jsonRPC'
});
// 商品目錄
const products = {
'template_pack': {
name: '行銷模板包',
price: 9.99, // USDT
description: '包含 50+ 可編輯的行銷模板'
},
'audit_report': {
name: '廣告帳戶診斷報告',
price: 49.99,
description: '完整的廣告帳戶健檢分析'
},
'consultation': {
name: '1 對 1 諮詢(60 分鐘)',
price: 149.99,
description: '與資深顧問一對一策略諮詢'
}
};
// 顯示商品列表
bot.onText(/\/shop/, (msg) => {
const chatId = msg.chat.id;
const keyboard = Object.entries(products).map(([id, product]) => ([
{ text: `${product.name} — $${product.price}`, callback_data: `buy_${id}` }
]));
bot.sendMessage(chatId,
'我們的商品與服務:\n\n' +
'所有商品均接受 USDT (TRC-20/TON) 和 TON 幣付款。',
{ reply_markup: { inline_keyboard: keyboard } }
);
});
// 處理購買請求
bot.on('callback_query', async (query) => {
if (!query.data.startsWith('buy_')) return;
const productId = query.data.replace('buy_', '');
const product = products[productId];
const chatId = query.message.chat.id;
const userId = query.from.id;
if (!product) return;
// 生成唯一的訂單 ID
const orderId = `ORD-${userId}-${Date.now()}`;
// 生成收款地址(或使用固定地址 + memo)
const paymentAddress = process.env.TON_PAYMENT_ADDRESS;
const memo = orderId; // 用 memo 區分不同訂單
await bot.sendMessage(chatId,
`訂單確認:\n\n` +
`商品:${product.name}\n` +
`金額:$${product.price} USDT\n` +
`訂單編號:${orderId}\n\n` +
`付款方式:\n\n` +
`1. TON 錢包轉帳:\n` +
` 地址:${paymentAddress}\n` +
` 備註(必填):${memo}\n` +
` 金額:${product.price} USDT\n\n` +
`2. 使用 Telegram Wallet:\n` +
` 點擊下方按鈕直接付款\n\n` +
`付款後請等待 1-2 分鐘,系統將自動確認並交付。`,
{
reply_markup: {
inline_keyboard: [
[{ text: '使用 Telegram Wallet 付款', callback_data: `pay_wallet_${orderId}` }],
[{ text: '已完成轉帳', callback_data: `confirm_${orderId}` }],
[{ text: '取消訂單', callback_data: `cancel_${orderId}` }]
]
}
}
);
// 儲存訂單到資料庫
await saveOrder(orderId, userId, productId, product.price, 'pending');
bot.answerCallbackQuery(query.id);
});
付款確認監聽
自動監聽區塊鏈上的交易以確認付款:
async function monitorPayments() {
const address = process.env.TON_PAYMENT_ADDRESS;
// 持續監聽新交易
setInterval(async () => {
const transactions = await tonClient.getTransactions(address, {
limit: 20
});
for (const tx of transactions) {
// 解析交易備註(memo)
const memo = extractMemo(tx);
if (!memo || !memo.startsWith('ORD-')) continue;
// 查找對應訂單
const order = await getOrderByMemo(memo);
if (!order || order.status !== 'pending') continue;
// 驗證金額
const receivedAmount = parseFloat(tx.value) / 1e9; // TON 精度
if (receivedAmount >= order.amount * 0.99) { // 允許 1% 誤差
// 更新訂單狀態
await updateOrderStatus(memo, 'confirmed', tx.hash);
// 交付商品
await deliverProduct(order.userId, order.productId);
// 通知用戶
bot.sendMessage(order.userId,
`付款確認成功!\n\n` +
`訂單:${memo}\n` +
`交易哈希:${tx.hash}\n\n` +
`你的商品已準備好,請查看下方訊息。`
);
}
}
}, 30000); // 每 30 秒檢查一次
}
多幣種支付支援
除了 TON 原生代幣,商家通常需要支援更多幣種:
支援的主流幣種
| 幣種 | 網路 | 確認時間 | 手續費 | 適用場景 |
|---|---|---|---|---|
| USDT | TON | ~5 秒 | <$0.01 | 日常收款首選 |
| USDT | TRC-20 | ~3 分鐘 | ~$1 | 大額交易 |
| USDT | ERC-20 | ~5 分鐘 | $5-50 | 機構用戶 |
| TON | TON | ~5 秒 | <$0.01 | Telegram 原生用戶 |
| BTC | Bitcoin | ~30 分鐘 | $1-10 | 大額/儲值型交易 |
| SOL | Solana | ~1 秒 | <$0.01 | DeFi 用戶 |
使用第三方支付閘道
如果不想自建支付基礎設施,可以使用第三方閘道:
Helio(RedClaw 已整合的方案):
- 支援 SOL、USDT、USDC 等多幣種
- 提供 Webhook 回調確認
- 自動匯率換算
- 商家後台管理
// Helio 付款連結生成
async function createHelioPayment(orderId, amount, currency = 'USDT') {
const response = await fetch('https://api.hel.io/v1/pay-link', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.HELIO_API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
amount: amount,
currency: currency,
description: `Order ${orderId}`,
webhookUrl: `https://yourdomain.com/api/webhook/helio`,
metadata: { orderId }
})
});
const data = await response.json();
return data.payLink;
}
Telegram 內建支付 API
Telegram 還提供了原生的 Payments API,支援信用卡和加密貨幣:
// 使用 Telegram Payments API 發送發票
bot.on('callback_query', async (query) => {
if (!query.data.startsWith('pay_native_')) return;
const productId = query.data.replace('pay_native_', '');
const product = products[productId];
await bot.sendInvoice(query.message.chat.id, {
title: product.name,
description: product.description,
payload: JSON.stringify({ productId, userId: query.from.id }),
provider_token: process.env.PAYMENT_PROVIDER_TOKEN,
currency: 'USD',
prices: [
{ label: product.name, amount: Math.round(product.price * 100) }
],
start_parameter: `buy_${productId}`
});
});
// 處理成功付款
bot.on('successful_payment', async (msg) => {
const payload = JSON.parse(msg.successful_payment.invoice_payload);
await deliverProduct(payload.userId, payload.productId);
bot.sendMessage(msg.chat.id,
'付款成功!感謝你的購買。\n你的商品馬上送到。'
);
});
安全考量
支付安全最佳實踐
-
私鑰管理:永遠不要在程式碼中硬編碼私鑰。使用環境變數或密鑰管理服務(如 AWS KMS、Google Secret Manager)。
-
金額驗證:永遠在伺服器端驗證付款金額,不要信任客戶端傳來的金額數據。
// 正確做法:伺服器端驗證
async function verifyPayment(orderId, transactionHash) {
const order = await getOrder(orderId);
const tx = await getTransaction(transactionHash);
// 驗證收款地址
if (tx.to !== process.env.TON_PAYMENT_ADDRESS) {
throw new Error('Invalid receiving address');
}
// 驗證金額(允許小幅誤差處理精度問題)
if (tx.amount < order.amount * 0.99) {
throw new Error('Insufficient payment amount');
}
// 驗證交易未被使用過(防止雙重消費)
if (await isTransactionUsed(transactionHash)) {
throw new Error('Transaction already processed');
}
return true;
}
-
雙重確認:對於高價值交易,等待多個區塊確認後再交付商品。
-
速率限制:限制每個用戶的購買頻率,防止自動化攻擊。
-
訂單過期:設定訂單有效期(建議 30 分鐘),過期未付款自動取消。
防詐騙機制
// 訂單過期處理
async function expireOldOrders() {
const thirtyMinutesAgo = new Date(Date.now() - 30 * 60 * 1000);
const expiredOrders = await db.collection('orders')
.where('status', '==', 'pending')
.where('createdAt', '<', thirtyMinutesAgo)
.get();
for (const order of expiredOrders.docs) {
await order.ref.update({ status: 'expired' });
bot.sendMessage(order.data().userId,
`訂單 ${order.id} 已過期。如需重新購買,請輸入 /shop。`
);
}
}
// 每 5 分鐘執行一次
setInterval(expireOldOrders, 5 * 60 * 1000);
合規要求
了解你的客戶(KYC)
根據交易金額設定不同的 KYC 等級:
| 單筆金額 | KYC 要求 |
|---|---|
| < $100 | 無需 KYC(視當地法規) |
| $100 - $1,000 | 基本 KYC(姓名、Email) |
| $1,000 - $10,000 | 增強 KYC(身分證、地址證明) |
| > $10,000 | 完整 KYC + 資金來源證明 |
反洗錢(AML)
- 監控異常交易模式(同一用戶短時間內大量小額交易)
- 對高風險錢包地址進行過濾(使用 Chainalysis 或類似服務的 API)
- 保留所有交易記錄至少 5 年
- 設定可疑交易自動通報機制
稅務申報
- 記錄所有收入的法幣等值金額(以交易時的匯率計算)
- 區分不同幣種的收入
- 考慮使用加密貨幣稅務計算服務(如 CoinTracker、Koinly)
- 諮詢當地稅務專業人士了解具體申報要求
進階功能
訂閱制自動扣款
使用 TON 智能合約實現自動訂閱:
// 訂閱管理
bot.onText(/\/subscribe/, (msg) => {
bot.sendMessage(msg.chat.id,
'選擇你的訂閱方案:\n\n' +
'所有方案均自動續訂,可隨時取消。',
{
reply_markup: {
inline_keyboard: [
[{ text: '基本版 — $9.99/月', callback_data: 'sub_basic' }],
[{ text: '專業版 — $29.99/月', callback_data: 'sub_pro' }],
[{ text: '企業版 — $99.99/月', callback_data: 'sub_enterprise' }]
]
}
}
);
});
即時匯率顯示
讓用戶即時看到他們需要支付的加密貨幣數量:
bot.onText(/\/rates/, async (msg) => {
const rates = await fetchCurrentRates();
bot.sendMessage(msg.chat.id,
'目前匯率:\n\n' +
`TON/USD: $${rates.TON.toFixed(2)}\n` +
`SOL/USD: $${rates.SOL.toFixed(2)}\n` +
`BTC/USD: $${rates.BTC.toFixed(2)}\n\n` +
`匯率每 30 秒更新一次\n` +
`最後更新:${new Date().toLocaleString('zh-TW')}`
);
});
結語
Telegram Bot 的加密貨幣支付整合正在改變線上交易的方式。對於目標受眾本身就在 Telegram 上的業者來說,這是最短的付款路徑——用戶不需要離開對話就能完成付款。
關鍵在於:從簡單開始(先支援 USDT on TON),確保安全和合規,然後根據用戶需求逐步擴展支援的幣種和功能。
技術上的門檻已經大幅降低。真正的挑戰在於建立用戶對你的支付流程的信任。清楚的價格標示、即時的訂單確認、透明的交易記錄——這些才是讓用戶願意在你的 Bot 中付款的關鍵。
需要協助整合加密貨幣支付到你的 Telegram Bot?聯繫 RedClaw 取得客製化的支付整合方案。
相關文章
LINE OA 行銷自動化完全指南:從好友經營到轉換漏斗的自動化策略 [2026]
深入解析 LINE OA 行銷自動化:帳號類型差異、自動化漏斗建置(好友加入→歡迎訊息→標籤分群→自動推播→轉換)、Webhook 與 LIFF 應用、Messaging API 整合、推薦碼追蹤,以及 iGaming 產業的 VIP 分層與出入金通知實戰案例。
社群行銷策略框架:2026 年 Threads、LINE、Telegram 三大平台實戰指南
完整的社群行銷策略框架:2026 年社群行銷定位(不只發文,是品牌信任建設)、Threads 演算法與 EV scoring 邏輯、LINE OA 好友經營 ROI、Telegram 社群深度經營、跨平台內容再利用策略,以及 iGaming 產業的社群合規與信任建設實戰。
Telegram Bot 行銷完全指南:iGaming 產業的自動化通知、群組管理與數據整合 [2026]
深入解析 Telegram Bot 在 iGaming 行銷的應用:Bot 功能分類(通知型/互動型/客服型/數據型)、Cloud Functions + Webhook 建置架構、群組管理策略、自動化通知系統、Firebase/Firestore 整合模式,以及 token 管理與群組安全實戰。