✕
开启精彩搜索
热门搜索
emby EMBY 解析 免流 源码 IPV6 阿里 阿里云 青龙 音乐 网心 网心云 webdav 阿里云盘 unraid 洗白 Rclone 刮削 云梦

坤支付 KunPay:个人免签约码支付系统兼容易支付,Go 单文件部署

一、项目简介

坤支付(KunPay)是一套使用 Go 语言开发的个人免签约「码支付」平台,主打易支付(EasyPay)协议完全兼容,现有商户系统可以零改造接入(submit.php / mapi.php / api.php)。

它的核心卖点可以概括为三句话:

  • 编译产物是单个二进制文件:页面、静态资源、SQLite 驱动全部通过 go:embed 内嵌,Windows / Linux / macOS 一键部署,零外部依赖。
  • 配套监控客户端全家桶:安卓 APP(自动监听收款通知,POST 加密上报)、Windows/macOS 监控助手(心跳保活 + 上报控制台),支持云手机 7×24 挂机与主备设备自动接管。
  • 资金直达个人账户:微信/支付宝/QQ 收款码自动监控到账,平台不经手资金。

版本 v1.2.1,官方称经过 15 轮安全审计 / 黑盒渗透 / 数据竞争检测的持续加固。

⚠️ 免责声明:本项目仅供学习研究。支付业务受严格监管,请勿用于违法违规场景,正式商用请自行评估合规风险并取得相关资质。详见 LICENSE 附加条款。

界面预览





二、核心特性一览

特性 说明
💰 个人收款码直收 微信/支付宝/QQ 收款码自动监控到账,资金直达个人账户,平台不经手
🔁 多码轮询 同通道多收款码加权轮询分摊收款,按订单号确定性取码,主备设备离线自动接管
🔌 易支付协议兼容 submit/mapi/api 三接口 + 签名校验,支持 MD5 与 RSA-SHA256 双签名,IP 白名单/商户级限流
📢 事件 Webhook 支付/过期/退款事件签名推送 + 异步通知 POST/GET 可选 + 回调测试工具
🧾 审计级资金流水 每一笔余额变动有 before/after 流水,余额与流水强守恒,结算/退款全事务化
🔐 安全加固 强制改密/TOTP 双因子/登录日志/CSRF/限流/SSRF 防护/防重放,-race 检测零竞争
📊 商户自助 仪表盘(实时到账提醒)/对账单/提现/邀请返佣/消息中心/收款链接+二维码
🛡 运维友好 健康检查/自动备份/慢任务告警/优雅关停/系统自检/版本更新提示

三、快速部署

本机运行(需要 Go 1.23+)

go build -o kunpay ./cmd/server
./kunpay -port 8080

或者直接运行已编译好的二进制(见下方交叉编译)。

交叉编译(产出 Windows / Linux / macOS 全平台)

bash build.sh      # macOS / Linux
build.bat          # Windows(本机版本)

产物在 dist/ 下:

kunpay_linux_amd64/kunpay        Linux x64
kunpay_linux_arm64/kunpay        Linux ARM64(如甲骨文/树莓派)
kunpay_windows_amd64/kunpay.exe  Windows x64
kunpay_windows_arm64/kunpay.exe  Windows ARM64
kunpay_darwin_arm64/kunpay       Apple Silicon
kunpay_darwin_amd64/kunpay       Intel Mac

每个产物目录附带《部署说明.txt》。

部署

点击展开▾

# Linux
chmod +x kunpay
./kunpay -port 8080

# Windows:双击 kunpay.exe,或 cmd 执行
kunpay.exe -port 8080

启动参数

参数 环境变量 默认 说明
-port KUNPAY_PORT 8080 HTTP 监听端口
-db KUNPAY_DB ./kunpay.db SQLite 数据库路径
-data KUNPAY_DATA ./data 收款码等上传文件目录

首次启动自动初始化

  • 管理员:admin / admin123(首次登录会被强制要求修改默认密码,修改前无法使用其他任何功能)
  • 演示商户:demo / demo123(PID 1001,供 /demo 支付测试使用)
  • 三个支付渠道:支付宝/微信/QQ,默认开启

生产环境建议:用 Nginx/Caddy 反代 + HTTPS;数据库与 data 目录随运行目录生成,注意备份;Systemd 示例见产物内部署说明。

四、核心功能模块

商户侧(易支付协议全兼容)

  • 商户注册 / 登录,自动分配商户 ID(PID)与商户密钥(KEY)
  • submit.php 页面跳转支付(GET/POST,302 跳转收银台)
  • mapi.php API 接口支付(返回 JSON:payurl / qrcode / img base64)
  • api.php 商户信息查询、单个订单查询、批量订单查询
  • 标准 MD5 签名(ASCII 升序、过滤空值与 sign 字段、末尾拼接 KEY)
  • RSA2 签名对接(可选):商户上传自有 RSA 公钥后,请求带 sign_type=RSA 用 RSA-SHA256 验签;平台异步通知自动改用平台私钥签名,商户用平台公钥验证,私钥永不出门
  • 商户 API IP 白名单(精确 IP / CIDR / 通配前缀)、可用支付方式控制、单笔/单日收款限额风控
  • 支付成功 notify_url 异步通知(失败自动重试 8 次:15s→30s→1m→3m→10m→30m→1h→2h),商户回复 success 确认
  • return_url 跳转通知(支付完成后收银台自动跳转,携带签名参数)
  • 收银台:收款二维码 + 应付金额(尾数偏移)+ 倒计时 + 轮询自动跳转

码支付核心(个人码收款)

  • 金额尾数匹配引擎:整数金额自动追加 0.01~0.99 随机尾数,保证同刻在途订单金额唯一,监控到账按「支付方式+金额」精确匹配;支持从通知内容中识别订单号优先匹配
  • 监控设备管理:添加设备生成 Token,心跳在线检测(2 分钟)
  • 双协议监控上报,兼容 V免签(vmq)监控 APP:
    • 自有协议:GET /monitor/heart?token=、GET /monitor/push?token=&type=&money=&content=
    • vmq 兼容:GET /appHeart?t=&sign=md5(t+token)、GET /appPushV?...
  • 到账流水:每笔上报全记录,未匹配流水标红提示
  • 订单超时自动作废(默认 5 分钟,可配置),管理员手动补单(入账+通知一步完成)

商户中心

  • 仪表盘:今日订单/成交额、余额、近 7 日趋势图、最近订单
  • 商户信息:PID/KEY 展示复制、接口地址、一键重置密钥、接入示例
  • 订单列表:按订单号/状态/支付方式筛选、分页、通知状态
  • 结算提现:余额申请提现、最低提现额、提现记录、拒绝自动退回
  • 资金明细:订单入账 / 提现支出 / 提现退回 / 管理员调整全流水
  • 个人设置:邮箱/QQ/结算账号维护、修改密码、TOTP 两步验证(验证器 APP 扫码绑定,登录需 6 位动态码,8 个一次性恢复代码防锁死)、登录设备管理(会话列表/一键下线其他设备)
  • 我的通道:附带各支付方式近 7 日成功率统计(按成功率分色)
  • 工单支持:在线提交问题工单,与平台客服会话式沟通,全程状态跟踪;平台回复即时邮件通知

管理后台

  • 平台概览:今日交易、商户数、设备在线数、7 日全平台趋势、待办提醒
  • 用户管理:搜索、封禁/解封、专属费率、余额调整、重置密钥/密码
  • 订单管理:多维筛选、手动补单、重发异步通知、CSV 导出
  • 到账流水:未匹配流水标红,支持手动匹配到指定订单
  • 渠道管理:支付宝/微信/QQ 渠道开关、单笔限额、收款码上传、绑定监控设备
  • 结算审核:打款 / 拒绝退款
  • 工单处理:商户工单会话回复/关闭,状态筛选
  • 管理员代登:一键以商户身份进入其面板排查问题(会话切换 + 审计)
  • 系统设置:站点信息、全局费率、订单超时、金额尾数开关、注册开关、邀请码、公告、客服、邀请返佣比例、自动结算、渠道自动熔断、每日自动备份等

运营与白标

  • 平台渠道多码轮询(与商户轮询同机制)、收款码使用统计(每码累计笔数/金额)
  • 品牌 Logo 白标:上传自有 Logo,站点导航与收银台换肤
  • 每日对账单邮件发送、登录防爆破、注册限频、支付接口 IP 限频、安全响应头
  • 系统告警双通道:设备离线/渠道异常/低余额通过邮件 + IM 机器人(自动识别飞书/钉钉/企业微信)推送
  • 渠道自动熔断:成功率异常的渠道自动停用,冷却后自动恢复
  • 月度对账单自动邮件:每月自动把上月汇总(笔数/成交额/手续费/净入账)发送给已填邮箱的商户
  • 自动结算:余额达标商户自动提交结算申请(原子扣款防重复)
  • 登录 IP 变化邮件提醒、SMTP 一键测试邮件
  • 下载中心:面板内上传/分发监控 APP 与挂机软件(对外公开页)
  • 数据库在线备份下载(手动 + 每日自动,自动保留策略)、旧流水自动清理、系统信息卡

平台页面

  • 全局深浅色主题:导航/顶栏一键切换,localStorage 记忆,图表自动跟随
  • 首页(Hero + 功能区)、开发文档(11 个章节完整参数表,含 RSA 签名对接)、支付测试(演示收银台)、登录/注册
  • 公开运行状态页 /status(渠道可用性/支付率,可发给商户)、下载中心 /download、实时数据大屏 /admin/screen(10 秒自动刷新)

五、监控客户端与云端挂机

端 产物 功能
安卓 monitor-android/KunPayMonitor.apk 自动监控:监听微信/支付宝/QQ 收款通知,自动提取金额上报;30 秒心跳;三通道独立开关;实时日志
Windows / macOS / Linux dist/monitor/KunPayMonitor_* 心跳保活(设备常在线)、手动/模拟到账上报、本地 Web 控制台,用于联调与保号

安卓端使用:安装 APK → 填平台地址与设备 Token → 授予通知使用权 + 电池白名单 → 保持后台运行。

桌面端使用:运行后自动打开浏览器控制台(127.0.0.1:8210),填入地址与 Token 即可。

云端挂机思路:监控不依赖家里开机。把安卓监控 APP 跑在云手机上实现 7×24 自动监听,Windows/macOS 监控助手注册为系统服务跑在云服务器做心跳保活;平台内置主备设备自动接管——主设备离线 5 分钟,备份设备自动接管匹配,双保险不掉单。详见 deploy/云端挂机部署指南.md。

六、上线配置流程(管理员)

  1. 登录后台 → 渠道管理:为每个渠道上传你的个人收款二维码
  2. 监控设备:添加设备,复制 Token
  3. 在收款手机安装支持 V免签协议的监控 APP,配置服务器地址与 Token,开启短信/通知监听
  4. 系统设置:修改站点名称、客服、全局费率、公告等
  5. 商户在首页注册 → 商户中心拿 PID/KEY → 按开发文档接入

七、安全部署要点

  • 必须 HTTPS:程序默认明文 HTTP,监控设备 Token、商户密钥、API 参数都会经过网络,正式部署必须置于正确配置的 HTTPS 反代之后。
  • 反代头信任:-trust-proxy 默认开启,但仅当请求的直连对端是内网/回环地址时才采纳 X-Real-IP/X-Forwarded-For;公网直连提供的转发头一律忽略,无法伪造客户端 IP 绕过白名单。
  • 回调 SSRF 防护:商户提交的 notify_url/return_url/webhook 默认禁止指向内网与回环地址;本地联调可用 -allow-local-notify(生产严禁)。
  • 备份文件不可经 Web 下载:data/backups/ 下的数据库备份不在 /uploads/ 静态服务范围内(上传目录只暴露根目录平铺文件)。
  • 测试/演示专用开关:-allow-default-admin 可关闭默认密码强制修改,仅限回归测试或演示环境使用。
  • 演示账号:默认会创建 demo/demo123 供支付测试页使用(启动时若仍为默认密码会在日志提醒)。生产环境建议以 KUNPAY_SKIP_DEMO=1 重新初始化,或在后台直接停用该账号。
  • 监控协议:官方安卓监控 APP(v1.2.0+)已改用 POST 表单上报,设备 token 不再出现在 URL 中;旧版 GET 方式仍兼容但建议升级 APP。V免签第三方 APP 兼容协议可在「设备管理」中按设备关闭(只用官方 APP 时建议关闭)。
  • 掉电一致性:-db-sync=FULL(或环境变量 KUNPAY_DB_SYNC=FULL)可确保断电零丢失,代价是写入变慢;默认 NORMAL 适合绝大多数场景。

八、技术栈与目录结构

技术栈:

  • Go 1.23+(标准库 net/http 路由 + html/template)
  • SQLite(modernc.org/sqlite 纯 Go 驱动,免 CGO,天生可交叉编译)
  • 密码 bcrypt 加密;会话 HttpOnly Cookie + 服务端存储;表单 CSRF 防护
  • 全部静态资源 go:embed 内嵌,零外部依赖、零运行时文件(数据库与上传目录除外)

目录结构:

cmd/server/          程序入口
internal/config/     配置
internal/db/         SQLite 初始化、迁移、设置存储
internal/model/      数据模型
internal/service/    签名、订单创建、金额匹配引擎、异步通知、后台任务
internal/web/        HTTP 路由与处理器(epay 兼容层/收银台/用户中心/后台/监控API/工单/下载中心)
web/templates/       全部 HTML 模板(embed)
web/static/          CSS/JS/图标(embed)
scripts/e2e_test.py  端到端测试(52 项断言,基础功能)
scripts/e2e_test_v2.py 端到端测试(44 项断言,TOTP/工单/快捷收款/RSA/限流等新功能)
build.sh/build.bat   交叉编译脚本

九、测试与构建

运行测试:

go vet ./...                       # 静态检查
python3 scripts/e2e_test.py        # 需先以全新数据库启动服务
# ./kunpay -port 8787 -db /tmp/kunpay-e2e.db -data /tmp/kunpay-data

覆盖:注册登录、签名校验(含错误签名拒绝)、submit/mapi 下单、收银台渲染、监控心跳与到账匹配(自有协议 + V免签)、异步通知与验签、api.php 三类查询、余额入账与费率扣减、提现申请/拒绝退款、手动补单、全部页面 200。

从源码构建:

# 平台主程序(需要 Go 1.23+)
go build -o kunpay ./cmd/server

# 安卓监控端(需要 JDK17 + Android build-tools,详见脚本内注释)
bash monitor-android/build-android.sh

# 桌面监控助手(Windows/macOS/Linux)
bash build-monitor.sh

# Docker
bash build-docker.sh && docker compose up -d

十、总结

坤支付 KunPay 是一个功能非常完整的个人免签约码支付系统,最大的亮点是 Go 单文件部署 + 易支付协议零改造接入,配套监控客户端覆盖安卓、Windows、macOS、Linux,并且支持云手机挂机和主备设备自动接管,运维和商户自助功能也做得相当细致。

如果你在找一个可以学习研究支付系统架构、或者用于合法合规自有收款场景的开源项目,这个仓库值得一看。

🔗 项目地址:https://github.com/kungec/kunpay

📄 License:MIT(含支付合规附加声明)

💬 评论区 0