项目简介
Epusdt(Easy Payment USDT)是一个面向 TRON / TRC20 USDT 收款流程 的自托管支付中间件。
它适合希望自己部署支付服务的开发者、商户和站点运营者:通过当前 /payments/... 接口创建订单,在自己的域名下提供收银台页面,并在支付成功后异步回调业务系统,而不是依赖第三方托管式网关。
Epusdt 遵守 GPLv3 开源协议。
Epusdt 能做什么
一个典型流程如下:
- 你的业务系统调用创建订单接口。
- Epusdt 分配收款地址和应付金额。
- 接口返回收银台链接
payment_url。 - 用户在链上完成支付。
- Epusdt 检测到匹配转账后,将订单标记为已支付。
- Epusdt 异步回调你的商户系统。
核心能力
- 自托管服务:部署在你自己的服务器上,支付基础设施由你自己掌控。
- 托管收银台页面:内置
/pay/checkout-counter/{trade_id}收银台页面供终端用户支付。 - HTTP 下单接口:当前源码中的创建订单接口位于
/payments/...,包括/payments/epusdt/v1/order/create-transaction。 - 多地址轮换:支持多个收款地址参与轮换,并结合唯一金额保留机制提高并发处理能力。
- 异步支付回调:支付成功后通知你的业务系统;回调成功条件应按 HTTP
200且响应体精确等于ok理解。 - Telegram 机器人支持:可选的通知和基础运维流程能力。
- 灵活部署:优先推荐 Docker,也支持源码构建;结合当前路由布局,通常更适合使用独立域名或子域名。
当前能力边界
当前源码的能力范围比较明确:
- 主要支付场景:TRON / TRC20 下的 USDT 收款
- 当前链上监听实现:源码中已实现 TRX 原生转账与 TRC20 USDT 转账监听
- 服务路由:使用
/payments/...、/pay/...这类根路径路由 - 公网地址配置:
app_uri用于生成绝对收银台链接,不是 应用内部路由前缀 - 子路径部署:如果你要挂在
/epusdt之类子路径后面,需要由反向代理处理并自行充分验证
当前运行事实
根据当前源码与部署示例,可确认:
- 应用语言 / 运行时:Go
- HTTP 默认监听地址:
:8000 - 数据库支持:
sqlite、mysql、postgres - 推荐外部依赖:需要可访问的 TronGrid API 凭证来查询 TRON / TRC20 链上数据
- 部署方式:提供 Docker 示例,也支持源码构建
一个容易混淆的点
接入时请把下面几类路径分开理解:
- 创建订单 API →
/payments/... - 收银台页面 →
/pay/checkout-counter/{trade_id} - 收银台状态轮询 →
/pay/check-status/{trade_id}
创建订单接口会返回 payment_url,而不是由服务端直接把你的下单请求重定向到收银台。
