Files
BinancePayTool/config.example.env
qianyubtcandClaude Fable 5.1 a749e9b989 收银页三种付款方式、内置体验页、反代支持与部署文档
收银页(/pay/{token})
- 三种付款方式按设备自动切换:桌面端扫码(由 RECEIVE_LINK 服务端生成收款二维码,
  不再需要上传图片)、手机端一键唤起币安 App(通用链接)、手动按 UID 转账兜底
- 三种到账确认方式(唯一金额 / 备注码 / 回填订单编号)在网关内始终同时生效

体验页(/demo,DEMO_ENABLED 开启,默认关闭)
- 选择金额档位与币种一键下单;可选择要体验的到账确认方式,收银页引导随之变化,
  结果页显示实际命中方式;按 IP 限流,金额仅限 DEMO_AMOUNTS 档位;根路径跳转 /demo

反向代理
- 新增 TRUST_PROXY:开启后限流按 CF-Connecting-IP / X-Real-IP / X-Forwarded-For 取真实访客 IP

部署
- docs/deploy.md:VPS 选型(须能直连币安 API)、systemd、Caddy、Cloudflare Tunnel
- deploy/ 下提供 bpaygate.service、Caddyfile、cloudflared.yml 模板

其他
- 新增依赖 github.com/skip2/go-qrcode(纯 Go)
- 新增体验页与三模式的测试用例

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-03 10:41:59 +08:00

59 lines
2.4 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ========= BinancePayTool 配置示例 =========
# 复制为 config.env 后填写。config.env 已被 .gitignore 排除,勿提交。
# 同名环境变量优先于本文件。
# 监听地址与对外基础 URL(收银页链接用它拼接)
LISTEN=0.0.0.0:8080
BASE_URL=http://127.0.0.1:8080
# 商户接入密钥:商户调用 API 与校验回调签名共用。
# 生成方法: ./bpaygate -gen-key
API_AUTH_KEY=
# ---- 币安(收款账号)----
# 现货 API Key,只勾选「允许读取」,强烈建议绑定服务器 IP 白名单
BINANCE_API_KEY=
BINANCE_API_SECRET=
# 你的币安 UID(App 头像页可见),用于收银页展示与方向判断
BINANCE_UID=
# 测试时可指向 mock 服务,生产留默认
BINANCE_API_BASE=https://api.binance.com
# ---- 收银页展示 ----
# 推荐:收款二维码解码出的链接(币安 App「收款」二维码内容,https://app.binance.com/... 形式)。
# 配置后:桌面端显示服务端生成的二维码;手机端显示「打开币安 App」一键唤起按钮。
RECEIVE_LINK=
# 可选:改用静态二维码图片文件(与 RECEIVE_LINK 二选一,优先此项;只提供扫码不提供唤起)
QR_IMAGE=
# 可选:额外展示的收款邮箱(不填则只展示 UID)
RECEIVE_EMAIL=
# ---- 体验页(对外演示用,默认关闭)----
# 开启后 /demo 提供体验下单页,根路径自动跳转过去;金额只允许下列档位,按 IP 限流 5 次/分钟
DEMO_ENABLED=false
DEMO_AMOUNTS=0.5,1
# ---- 订单与匹配 ----
# 允许的收款币种(逗号分隔)
CURRENCIES=USDT,USDC
# 订单有效期(秒),可被下单请求覆盖
ORDER_TTL=900
# 过期宽限(秒):过期后这段时间内到账的精确金额仍自动确认
EXPIRED_GRACE=1800
# 唯一金额小数位(实测币安 Pay 支持至少 4 位)
AMOUNT_DECIMALS=4
# 尾数方向:add=在基础金额上加尾数(默认,商户实收略多);sub=减尾数
SUFFIX_MODE=add
# 尾数冷却(秒):订单结束后该金额多久内不复用
SUFFIX_COOLDOWN=86400
# 币安流水轮询间隔(秒)。接口权重 3000/次、UID 限额 180000/分钟,最低可到 1
POLL_INTERVAL=4
# ---- 反向代理 ----
# 放在 Caddy/Nginx/Cloudflare 之后时开启,限流按真实访客 IP(CF-Connecting-IP / X-Real-IP / X-Forwarded-For)
TRUST_PROXY=false
# ---- 存储与日志 ----
DB_PATH=./bpaygate.db
LOG_LEVEL=info