Repository navigation
PerPay v0.2.2
更新内容
- 退款简化为管理员标记:支持标记、撤销、可选备注和修改历史,不执行转账、不验证外部退款,也不通知业务网站。
- 待处理的四个标签分别支持跨全部分页忽略提醒,提供已忽略列表和单条恢复。操作支持幂等重试,已结束事项不能恢复为待处理问题。
- 普通支出继续保留流水与校验,但不再进入自动收款匹配或制造待处理提醒。真实流水冲突、验签和完整性检查不受影响。
- 优化密钥查看弹窗与窄屏布局,清理日常界面中的内部版本号;明文限时清理和后台并发校验保持不变。
- 支持 30 天保持登录,不在浏览器保存管理员密码。
- 账本采集支持常规/活跃双档间隔,并增加金额复用冷却和登录限流保护。
兼容性说明
- 旧
POST /api/admin/v1/reconciliation/refunds登记接口已退役,通过鉴权和请求格式校验后返回410 / refund_recording_retired。外部退款后请在订单详情中使用管理员标记。 - 既有退款记录、部分/全额退款状态和已生成的
REFUND_UPDATED通知保留原语义,不自动转换、不补发通知;已排队的旧通知继续投递。 - 管理员退款标记不改变付款状态、实收金额、对外订单版本或记账分录,标记和备注不会通过业务 API、收银台或通知返回。
- 忽略仅关闭提醒,不解决账本冲突,也不停止通知重试。运行状态仍展示真实冲突与失败计数。
- 历史支出提示仍可追溯,不会被伪造为“已解决”。此次支出降噪不改变普通收入的匹配和异常处理规则。
升级
先备份数据库和 perpay-secrets 主密钥卷,保留原数据卷。
如果固定了镜像版本,将 app、backup、maintenance 的镜像统一改为 ghcr.io/mashiro0619/perpay:0.2.2,然后在原部署目录执行:
docker compose pull
docker compose up -d本版数据库结构升级至 23,旧数据库启动时自动迁移。迁移保留历史金额、证据、账务状态和既有审计记录;新增提醒状态和管理员标记随数据库持久保存。应用、备份与维护工具应使用兼容同一结构的构建,不能将升级后的数据库直接交给旧版本程序打开。
原采集间隔会同时保留为常规和活跃间隔,不会自动提高旧实例的采集频率。金额复用冷却默认 600 秒,不延长历史付款窗口,也不自动补认关闭或过期后才实际发生的付款。
不要为了回滚程序而直接覆盖升级后已经产生新流水的数据库;请先保留当前完整数据与主密钥,并按维护说明处理。
镜像与附件
- 固定版本镜像:
ghcr.io/mashiro0619/perpay:0.2.2@sha256:d9a78b863bf55963767c1ad2bbf156d8e05c9e2f25ea8fc935ef3d5396317581 - 默认更新通道:
ghcr.io/mashiro0619/perpay:latest - 支持平台:
linux/amd64,linux/arm64 - 数据库结构范围:
23..23 - 部署配置校验值(SHA-256):
2745179ce747172ff177cfe0de8092269e327eeb29f892772f5cf1baefd832eb - 调用示例校验值(SHA-256):
7c6f2c34f637e2cd33470e11bdb26f27152676f2619cd2191085172cf8f5eac9
首次部署下载附件 docker-compose.yml,按中文注释填写域名和代理配置,再执行 docker compose up -d。调用端示例见附件 demo.zip。
Linux 校验附件:echo "2745179ce747172ff177cfe0de8092269e327eeb29f892772f5cf1baefd832eb docker-compose.yml" | sha256sum -c -。