Skip to content

PerPay v0.2.2

Choose a tag to compare

@github-actions github-actions released this 14 Sep 07:35
· 325 commits to main since this release
v0.2.2
89aa5d9

更新内容

  • 退款简化为管理员标记:支持标记、撤销、可选备注和修改历史,不执行转账、不验证外部退款,也不通知业务网站。
  • 待处理的四个标签分别支持跨全部分页忽略提醒,提供已忽略列表和单条恢复。操作支持幂等重试,已结束事项不能恢复为待处理问题。
  • 普通支出继续保留流水与校验,但不再进入自动收款匹配或制造待处理提醒。真实流水冲突、验签和完整性检查不受影响。
  • 优化密钥查看弹窗与窄屏布局,清理日常界面中的内部版本号;明文限时清理和后台并发校验保持不变。
  • 支持 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 -。