🚀 从 0 构建一个通用加密货币支付系统:XPay 项目实践分享
支持 USDT、ETH、TRX,秒级到账、自动归集、回调通知,专为 Web2 游戏、电商、SaaS 项目设计。
👋 背景:为什么我要做这个项目?
作为一个 Web3 领域的独立开发者,我发现很多 Web2 项目(比如小游戏、电商独立站、小工具型 SaaS)有这样的痛点:
- 想支持 USDT / ETH / TRX 等加密支付,但没有成熟方案
- 使用第三方平台收款不稳定、限制多、手续高
- Web3 支付方案复杂,动不动就需要合约、钱包、前端集成
于是,我花了几周时间开发了 XPay,一个轻量级的加密货币支付系统。
🎯 XPay 是什么?
XPay 是一个针对 Web2 场景设计的加密支付解决方案,主要功能包括:
✅ 支持的支付币种/网络
- TRC20-USDT
- ERC20-USDT
- BEP20-USDT
- 支持任意链上代币拓展(后续支持 BTC)
✅ 商户能力
- 📬 提供唯一地址收款(基于地址池或 HD 钱包)
- ⚙️ 实时监听到账事件(基于 TronGrid、Web3j)
- 🧾 提供 webhook 回调(POST 订单状态)
- 🔄 自动归集到账户地址
- 🖥️ 后台可视化(开发中)
项目官网 👉 www.x-pay.fun
🧱 技术架构
本项目采用 Spring Boot + MyBatis Plus 开发,前端为 Vue 3 + Vite,部署在 Cloudflare Pages,监听模块使用多线程支持 ETH/BSC/TRON:
- 监听模块:根据支付地址队列 + RPC/TronGrid 实时扫描
- 地址池系统:支持助记词生成 HD 地址,并批量入库
- 归集机制:通过 SDK 自动签名并广播归集交易
- 回调通知:成功入账后通过 webhook 通知商户系统
技术栈如下:
| 模块 | 技术栈 |
|---|---|
| 后端 | Spring Boot 3.4.6、JDK 17、MyBatis Plus |
| 前端 | Vue 3、Element Plus、Vite |
| 钱包 | TronJ、Web3j、BTC hdwallet |
| 存储 | MySQL、Redis |
| 部署 | Cloudflare Pages + Docker |
🔌 如何接入 XPay?
集成流程很简单(以 TRC20 为例):
- 创建订单:调用后端接口,系统分配一个地址(绑定订单)
- 用户付款:用户扫码/复制地址发送 TRC20-USDT
- 监听到账:监听模块识别该地址入账
- 状态更新:修改订单状态为成功,并回调商户系统
- 自动归集:将用户地址上的资金归集至主钱包
你只需要集成 HTTP API,就能完成加密支付接入。
💡 为什么说它适合 Web2 开发者?
对大部分 Web2 商户来说,他们不想:
- 跑智能合约
- 管理复杂的钱包体系
- 使用陌生的钱包工具
XPay 的定位就是「Web2 友好」:
- 不依赖钱包前端
- 不需要 MetaMask
- 所有功能都通过 API 调用完成
- 支持私有部署,也可用托管服务
🧪 示例场景
- 🎮 小型 HTML5 游戏接入 USDT 支付
- 🛒 跨境电商独立站支持 USDT 结算
- 🧰 工具类 SaaS(如 GPT 助手)支持数字货币订阅
- 👨💻 承接代付项目,接入多商户管理后台(企业版)
🧭 项目进展和计划
已完成:
- ✅ 商户创建 + 地址分配
- ✅ USDT 到账监听(TRON / ETH)
- ✅ 支持自动归集 + 回调通知
- ✅ 网站 + 接入文档上线(x-pay.fun)
开发中:
- 📊 商户可视化后台(Vue3)
- 🧩 支持 BTC、SOL 等链接入
- 🛍️ Shopify / WordPress 插件(开放合作)
- 🆓 发布 GitHub 开源版本(计划 MIT 协议)
🤝 谁适合用?
- Web2 游戏、电商、SaaS 项目想要接入 USDT 支付
- 不想自建监听和归集系统
- 想提供稳定的收款体验给海外用户
- 想用 Java/Vue 技术栈快速集成
📮 如何试用或合作?
欢迎你访问官网 www.x-pay.fun
- 🔧 开发者对接文档正在完善中(也可联系我直接对接)
- 🤖 Telegram 群即将上线(欢迎内测)
- 📮 有项目合作或插件需求也欢迎私聊我
🧑💻 最后
这是一个典型的「个人独立开发者 + 商业化工具项目」,欢迎你来试用、提建议,甚至合作开源扩展。
如果你觉得这个项目有用,欢迎点赞、转发,或加我微信/Telegram 交流 😄
👨💻 项目地址:www.x-pay.fun
📢 TG 频道/群:即将上线,欢迎留言