EpusdtPay 文档
完整的接入指南、API 参考和最佳实践
🚀
5 分钟快速接入
从零开始接入 EpusdtPay 支付
📡
API 参考文档
完整的接口文档与示例
📱
iOS App 指南
安装配置与功能使用
🔐
安全最佳实践
加密配置与审计日志
概览
EpusdtPay 是一个开源的 USDT 支付网关系统,支持 TRON (TRC20)、BSC (BEP20)、Ethereum (ERC20) 和 Polygon 多链 USDT 收付款。
系统由后端服务(Go)和 iOS 客户端(SwiftUI)组成,提供商户收款、授权支付、钱包管理等完整的数字资产支付功能。
快速接入
1. 环境要求
- 服务器:Linux (Ubuntu 20.04+)
- 数据库:MySQL 8.0+
- 缓存:Redis 6.0+
- Go 1.24+ (编译)
2. 配置文件
复制 .env.example 为 .env,修改关键配置:
# 域名配置
app_uri=https://your-domain.com
# 数据库
db_type=mysql
mysql_host=127.0.0.1
mysql_port=3306
mysql_user=epusdt
mysql_database=epusdt
# API 认证
api_auth_token=your_secret_token
3. 创建订单
所有 API 请求需要携带签名认证,详见下方 API 参考。
订单接口
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /api/v1/order/create-transaction | 创建支付订单 |
| GET | /pay/check-status/:trade_id | 查询订单状态 |
创建订单请求示例
POST /api/v1/order/create-transaction
Content-Type: application/json
{
"order_id": "ORD202602100001",
"amount": 100.00,
"notify_url": "https://your-site.com/callback",
"redirect_url": "https://your-site.com/success",
"signature": "..."
}
授权支付
授权支付允许客户一次性授权一定额度的 USDT,商户后续可按需扣款。
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /api/v1/auth/create | 创建授权 |
| POST | /api/v1/auth/confirm | 确认授权 |
| POST | /api/v1/auth/deduct | 从授权扣款 |
| GET | /api/v1/auth/info/:password | 获取授权信息 |
| GET | /api/v1/auth/history/:password | 扣款历史 |
| GET | /api/v1/auth/list | 有效授权列表 |
钱包管理
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /api/v1/wallet/add | 添加钱包地址 |
| POST | /api/v1/wallet/list | 钱包列表 |
| POST | /api/v1/wallet/update-status | 更新状态 |
| POST | /api/v1/wallet/delete | 删除钱包 |
回调通知
当订单状态变更时,系统会向 notify_url 发送 POST 回调:
{
"trade_id": "EP20260210...",
"order_id": "ORD202602100001",
"amount": 100.00,
"actual_amount": 100.0001,
"token": "TXxx...xxx",
"status": 2,
"block_transaction_id": "..."
}
回调成功需返回 "ok",否则系统会进行重试。
iOS 安装指南
EpusdtPay iOS 客户端要求 iOS 14.0 或更高版本,支持全系列 iPhone。
安装方式
- App Store — 搜索「EpusdtPay」直接下载
- TestFlight — 获取 Beta 测试链接安装
- 企业签名 — 联系管理员获取安装描述文件
商户功能
iOS App 为商户提供完整的收款和管理功能:
- 数据看板 — 今日营收、活跃授权、今日扣款实时统计
- 订单管理 — 查看所有订单、筛选状态、查看详情
- 授权管理 — 创建授权、查看授权列表、撤销授权
- 扣款操作 — 从已授权账户中发起扣款
- 钱包管理 — 添加/管理多个收款钱包地址
多链配置
在 .env 中配置各链 RPC 地址和合约信息:
# BSC RPC(多地址轮询)
bsc_rpc_urls=https://bsc.publicnode.com,https://bsc-dataseed.binance.org/
# ETH RPC
eth_rpc_urls=https://eth.llamarpc.com
# USDT 合约地址
bsc_usdt_contract=0x55d398326f99059fF775485246999027B3197955
eth_usdt_contract=0xdAC17F958D2ee523a2206206994597C13D831ec7
安全指南
强烈建议在生产环境中配置 auth_master_key,启用密码加密功能。
主密钥配置
生成 256 位主密钥:
openssl rand -hex 32
将生成的密钥填入 .env 的 auth_master_key 字段。
安全检查清单
- ✅ 配置 auth_master_key(密码加密主密钥)
- ✅ 启用 audit_log_enabled(审计日志)
- ✅ 启用 gas_optimize_enabled(Gas 优化)
- ✅ 配置 HTTPS + SSL 证书
- ✅ 设置强密码的 admin_init_password
- ✅ 配置防火墙,仅开放必要端口
常见问题
Q: 支持哪些链?
目前支持 TRON (TRC20)、BSC (BEP20)、Ethereum (ERC20)、Polygon 四条链的 USDT 收付款。
Q: 订单过期时间可以修改吗?
可以。在 .env 中修改 order_expiration_time,单位为分钟,默认 10 分钟。
Q: 如何配置 Telegram 通知?
填写 tg_bot_token 和 tg_manage(管理员 user ID),即可接收订单和系统通知。