编程 GoPay:Go语言轻量级聚合支付网关,支持支付宝/微信支付

2026-05-26 12:34:14 +0800 CST views 20

GoPay:Go 语言轻量级聚合支付网关系统,支持支付宝/微信支付

标签: Go / 支付系统 / 聚合支付 / 开源 / Gin / GORM
原文: 微信公众号「码农先森」https://mp.weixin.qq.com/s/SoE0aJPsqY7Iu3thtSpFBQ
GitHub: https://github.com/mageg-x/gopay


核心亮点

GoPay —— 基于 Go 语言开发的轻量级聚合支付网关系统,支持支付宝、微信支付,提供完整的商户管理、订单管理、结算转账等功能。

技术栈:Go + Gin + GORM + SQLite + Vue 3 + Element Plus,MIT 开源。


功能全览

支付功能

功能说明
多支付方式支付宝(网页/手机网站/扫码/APP/JSAPI);微信(扫码/JSAPI/H5/小程序/APP)
通道轮询多通道负载均衡,按权重自动轮询分配
智能路由根据设备类型(PC/移动端/APP)自动选择最优支付方式
收银台模式/cashier/user/:uid 固定商户收银路径,自动商户兜底
异步回调支付结果异步通知,自动重试机制
订单退款支持全额/部分退款

商户系统

  • 商户注册:邮箱/手机号注册,邀请码机制
  • 订单管理:订单查询、状态追踪、手动触发通知
  • 资金管理:余额充值、资金明细、结算申请
  • API 接口:完整的支付 API,支持签名验证
  • 邀请返佣:邀请用户注册获得交易返佣

管理后台

  • 商户管理:商户列表、状态控制、余额调整
  • 订单管理:订单查询、状态管理、数据导出
  • 通道管理:支付通道配置、费率设置、状态控制
  • 用户组管理:分组管理、权限配置、通道分配
  • 风控管理:IP/用户黑名单、商品名称过滤、每日限额
  • 结算管理:结算审核、自动转账
  • 转账管理:单笔/批量转账、转账查询
  • 分账管理:分账接收人配置、自动分账

转账功能

  • 多渠道转账:支付宝、微信
  • 批量转账:支持批量导入
  • 转账查询:实时查询状态
  • 失败退款:转账失败自动退回余额

风控系统

风控项说明
黑名单IP 黑名单、用户黑名单,支持时效设置
名称过滤商品名称关键词过滤
限额控制IP/用户每日支付次数限制
金额限制单笔最低/最高金额限制

插件系统

  • 统一支付插件接口,支持自定义扩展
  • 内置支付宝、微信插件
  • 支持测试通道配置

技术架构

后端

  • Go + Gin Web 框架
  • GORM ORM
  • SQLite 数据库(跨平台默认存储路径不同)
  • Vue 3 + TypeScript + Element Plus + Tailwind CSS

跨平台构建

# Linux CLI
make build-linux

# Linux GUI(系统托盘)
make build-linux-gui

# Windows GUI(系统托盘)
make build-windows-gui

# macOS GUI(系统托盘)
make build-macos-gui

启动参数

参数说明默认值
-db数据库文件路径平台默认路径
-host监听 IP0.0.0.0
-port监听端口8080
-migrate执行数据库迁移false

数据库存储路径

平台路径
Windows%APPDATA%\gopay\gopay.db
macOS~/Library/Application Support/gopay/gopay.db
Linux~/.gopay/gopay.db

快速开始

# 克隆项目
git clone https://github.com/mageg-x/gopay.git
cd gopay

# 构建前端
cd web && npm install && npm run build && cd ..

# 构建后端
cd server && go build -o gopay ./src

# 运行
./gopay -host 0.0.0.0 -port 8080

启动后访问 http://localhost:8080 即可进入系统。

收银体验入口/cashier/user/10000


API 接口一览

支付与收银

接口方法说明
/api/pay/submitPOST提交支付
/api/pay/cashier_submitPOST收银台内部提交(同源)
/api/pay/createPOST创建订单
/api/pay/queryGET/POST查询订单
/api/pay/refundPOST申请退款
/api/pay/typesGET获取可用支付方式
/api/pay/channelsGET获取可用支付通道
/api/pay/notify/:trade_noPOST支付回调
/api/pay/return/:trade_noGET同步跳转

写在最后

GoPay 是一个功能完整的聚合支付网关,适合:

  • 个人开发者搭建自己的支付接入门户
  • 中小企业自建支付系统,避免第三方高抽成
  • 学习研究支付系统架构与实现

如果你需要一个轻量、开源、完整的支付系统,GoPay 值得一试。


GitHub: https://github.com/mageg-x/gopay
License: MIT

复制全文 生成海报 Go 支付系统 聚合支付 开源 Gin GORM SQLite Vue3

推荐文章

php 连接mssql数据库
2024-11-17 05:01:41 +0800 CST
关于 `nohup` 和 `&` 的使用说明
2024-11-19 08:49:44 +0800 CST
Vue中的样式绑定是如何实现的?
2024-11-18 10:52:14 +0800 CST
MySQL用命令行复制表的方法
2024-11-17 05:03:46 +0800 CST
程序员茄子在线接单