Add pay-unify - #9479
Open
difyz9 wants to merge 2 commits into
Open
Conversation
Pay-Unify 统一支付中台:聚合支付宝 / 微信支付 / PayPal, 内置管理控制台与 OAuth2 商户开放 API。 - 官方镜像:difyz9/pay-unify:2.0.1(Docker Hub,linux/amd64 + linux/arm64) - 单容器单端口:前端静态导出后由 Go 二进制内嵌,无需额外 Nginx / Node - 支持 1Panel 托管 MySQL / MariaDB / PostgreSQL
- 镜像 difyz9/pay-unify:2.0.2 - 2.0.2 修复:拒绝公开占位 JWT 密钥启动(此前示例密钥长度合法会被静默接受)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
应用信息
pay-unifytoolTooldifyz9/pay-unify:2.0.2(Docker Hub,官方镜像)linux/amd64、linux/arm64产品介绍
面向企业/开发者的统一支付中台:把多渠道支付接入、渠道密钥管理、商户授权、
变更审计收敛到一个容器里。支持支付宝 / 微信支付 / PayPal,内置管理控制台与
OAuth2 商户开放 API。
单镜像、单容器、单端口 —— 控制台为 100% 客户端组件,静态导出后由 Go
二进制
//go:embed内嵌,前后端同源。因此不需要 Nginx 转发、不需要 Node运行时、不需要前后端两个容器,在 1Panel 侧只需维护 1 个应用 / 1 个端口 / 1 份日志。
主要功能
包内容
打包合规性
使用官方 1Panel-appstore-skills
的校验脚本自检通过:
要点:
container_name: ${CONTAINER_NAME},加入1panel-network(external)labels.createdBy: "Apps"PANEL_APP_PORT_HTTP/rule: paramPort/type: number${...}变量均在版本级data.yml声明;数据库依赖用type: apps(MySQL / MariaDB / PostgreSQL,服务派生
${PANEL_DB_PORT})type: password+random: true;i18n 覆盖 appstore 全部语言init.sh修正data/certs、data/logs属主:镜像以非 root(uid/gid 1000)运行,而 1Panel 以 root 创建挂载目录,不修正会导致证书上传失败
本地测试
已在 Docker 环境完成等价链路的端到端验证(与 1Panel 使用完全相同的
PANEL_DB_*环境变量接口):healthy(健康检查GET /health/db)POST /oauth/token换取 Bearer Token,调用/api/v2/*正常返回镜像可用性
镜像由 GitHub Actions 从 tag 自动构建并推送(
.github/workflows/docker-publish.yml),非本地手工上传。
2.0.2 安全修复
JWT.SecretKey现在会拒绝公开占位值(replace-with/change-me/your-secret等)启动。此前示例密钥长度 43 字节能通过长度校验被静默接受,任何人都能用仓库里可见的值伪造
isAdmin=true的会话 token。1Panel 安装时
PAY_JWT_SECRET由表单强制生成,不受影响,但升级到最新版本更稳妥。