feat(merchant): 分阶段刷新先推进开通步骤,重复提交前先查通道
放开灰度门槛之前必须先补这一步:分阶段模型下刷新是商户与后台推进开通的唯一入口,
而渠道侧的微信商户配置与业务开通原本只由进件审核回调触发——分阶段申请的回调走的是
进度刷新,不在这里补上推进,新商户的微信开通永远不会被发起。先翻门会让这条流程彻底
失效,所以顺序不能颠倒。
- MerchantSettlementService.refreshProgress:先 continuePostOnboardingProvisioning
再回报进度。商户端与后台刷新共用它,两端行为一致。
- 提交前先查通道,已在通道生效的步骤直接按已生效收口,不再重复提交:微信商户配置是
添加接口(成功后不支持改删、每种参数最多 5 组),业务开通是申请型接口,盲目重提会在
通道留下重复配置或第二份申请。本地状态与通道脱节时(通道已配好、本地仍是
not_started)正是最容易踩这个坑的场景。查询失败按未生效处理——宁可多提一次也不漏配。
- 测试跟上:MerchantExistingOnboardingTests 挡住两个开通网关(否则刷新会真的打到汇付),
新增两条——刷新确实推进开通;通道已生效时不重复提交。
验证:MerchantExistingOnboardingTests 19 项全绿。