收银页(/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>
13 lines
561 B
YAML
13 lines
561 B
YAML
# 方案 B(推荐):Cloudflare Tunnel,不开公网端口、不管证书
|
|
# cloudflared tunnel login
|
|
# cloudflared tunnel create bpaygate
|
|
# cloudflared tunnel route dns bpaygate pay.example.com
|
|
# sudo cp deploy/cloudflared.yml /etc/cloudflared/config.yml # 改 tunnel 与 credentials-file
|
|
# sudo cloudflared service install && sudo systemctl enable --now cloudflared
|
|
tunnel: <TUNNEL-ID>
|
|
credentials-file: /root/.cloudflared/<TUNNEL-ID>.json
|
|
ingress:
|
|
- hostname: pay.example.com
|
|
service: http://127.0.0.1:8080
|
|
- service: http_status:404
|