## Why 商户池变更(`add-payment-merchant-pools`)把公众号与小程序参数拆入独立的微信授权配置,并把“授权字段完整”实现为公众号与小程序四项凭证都必填:迁移 `000210` 只在四项齐全时复制授权,后台保存也要求四项齐全。8 月之前小程序一直是选填项。生产只使用公众号 H5、从未配置小程序(2026-10-19 只读核查),迁移后授权表为空,C 端微信登录、OpenID、JSSDK 与微信支付 AppID 会全部返回“微信授权未配置”,后台也无法补建。 ## What Changes - 后台保存微信授权配置:启用时只要求公众号 AppID 与 AppSecret;小程序 AppID 与 AppSecret 选填,但必须同时填写或同时留空。 - 新增成对迁移 `000240`:尚无未删除的授权配置、存在唯一当前生效综合支付配置且其公众号凭证完整时,补建一条启用的授权配置(小程序字段按原值复制,可以为空);down 不删除数据。 - 未配置小程序时,小程序登录与小程序支付沿用现有判定,明确返回配置不可用;公众号相关功能不受影响。 ## Capabilities ### New Capabilities 无。 ### Modified Capabilities - `merchant-payment-routing`:微信授权配置启用条件改为公众号必填、小程序选填;上线迁移按公众号凭证完整性创建授权配置。 ## Impact - 代码:`internal/application/merchantpayment/management.go`(`SaveAuthorization` 校验)。 - 数据库:新增 `migrations/000240_backfill_wechat_authorization_oa_only.{up,down}.sql`,只插入数据,不改 Schema;测试环境已有授权配置,执行后无变化;生产执行 `000210` 后补建一条只含公众号的授权配置。 - 接口:请求与响应结构不变,仅保存校验与错误文案变化。 - 回滚:覆盖二进制安全;补建的授权配置保留,可在后台停用或编辑。