yeg
2026-09-24 3dff4451ffe12e87d16792cdd8f744e1e29aad9c
refs
用户 yeg <1347747024@qq.com>
星期四, 九月 24, 2026 14:24 +0800
提交者 yeg <1347747024@qq.com>
星期四, 九月 24, 2026 14:24 +0800
提交3dff4451ffe12e87d16792cdd8f744e1e29aad9c
目录 5fbe2722f63f69d9c41eb64c760cd9114f4bde2a 目录 | zip | gz
parent f7f4a8cc3714c7e377c98750b19dc9cee8ea0da5 查看 | 对比
feat(huifu): 微信支付口径统一切到线下场景与 0.30% 费率

把平台所有商户的微信支付从线上口径切成线下口径,并把这一套值全部做成可配置:

- 场景 4/5/12 → 1/2/3、业务开通类型 01 → 02、费率规则号 756/775/761 → 758/770/762、
费率 0.70 → 0.30、进件 scene_type ONLINE → OFFLINE、小微经营类型改为 MICRO_TYPE_STORE。
取值全部落在 app.payment.huifu.*,回退线上只需改这几行。
- 下发与判定取同一份配置(业务开通/微信配置/实名/两个进件网关 + 阶段进度 + 两处配置闸门):
只改一处会出现「通道已开通、阶段永远 missing」,而阶段下游的收款闸门会挡住商户收款。
- 业务开通报文不再下发 online_busi_type:它是「基本信息入驻接口 scene_type=ONLINE/ALL」的字段,
历史实现一直错发在业务开通里。
- 个人(小微)主体新增经营详细地址:迁移 V155 + 请求字段 + 落库 + 商户端进件表单 + 后台详情展示;
detail_addr 不再用证件地址顶替(线下报备下它是必填),F22 的含义与文案改为实体门头照。
- 文档:CONTEXT.md 新增「微信支付口径」五个术语(含三个同名 scene 的区分)、新增 ADR 0005、
docs/huifu 02/05/06/08 改为线下口径并补 08 §9 存量迁移 runbook(含受影响商户清单 SQL)、
docs/agents/testing.md 补记 3 项连内存 H2 的既有失败(避免被误判成回归)。
- 评审遗留项落成 .scratch/offline-wechat-scene-switch/{spec.md, issues/01..04}:
bank_message 真因被丢弃、口径收敛成值对象、线下企业材料待汇付确认、基本户退款缺人工出口。
- 测试:定向 62~66 项全过;全量 410 项只剩既有失败(3 项基线 + 3 项 H2)。

未做(用户自行验收):真实进件与真实支付/退款走通道。上线时需按 docs/huifu/08 §9 逐个在控台
迁移存量商户,并确认人才端 AppID 绑到该商户实际收款的微信子商户(换场景会重建子商户号)。

依据:汇付场景枚举与《微信费率规则ID》表(docs/huifu/reference/official/);
2026-09-24 的只读核验回执见 .scratch/payment-409-probe/(含 bank_message 那条真因)。
12个文件已添加
26个文件已修改
1012 ■■■■■ 已修改文件
.scratch/offline-wechat-scene-switch/issues/01-bank-message-not-read.md 43 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
.scratch/offline-wechat-scene-switch/issues/02-wechat-capability-value-object.md 30 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
.scratch/offline-wechat-scene-switch/issues/03-enterprise-offline-store-materials-unknown.md 32 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
.scratch/offline-wechat-scene-switch/issues/04-refund-from-basic-account-needs-manual-exit.md 33 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
.scratch/offline-wechat-scene-switch/spec.md 34 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
.scratch/payment-409-probe/ChannelQuery.java 35 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
.scratch/payment-409-probe/OrderExpiryProbe.java 64 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
.scratch/payment-409-probe/Payment409Probe.java 85 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
.scratch/payment-409-probe/PaymentProbe.java 83 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
.scratch/payment-409-probe/TestSchemaProbe.java 38 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
CONTEXT.md 30 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/adr/0005-wechat-pay-scene-switch-to-offline.md 45 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/agents/testing.md 10 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/huifu/02-进件与收款能力.md 22 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/huifu/05-汇付对接注意事项.md 6 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/huifu/06-踩坑清单.md 2 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/huifu/08-上线与环境.md 41 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
rencaika_merchant/pages/merchant-onboarding/merchant-onboarding.uvue 14 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-admin/src/views/MerchantOnboardingDetailView.vue 3 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/main/java/com/talentcard/server/business/merchant/MerchantOnboardingProgressService.java 20 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/main/java/com/talentcard/server/business/merchant/MerchantOnboardingRequest.java 10 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/main/java/com/talentcard/server/business/merchant/MerchantOnboardingSchemaInitializer.java 2 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/main/java/com/talentcard/server/business/merchant/MerchantSettlementService.java 19 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/main/java/com/talentcard/server/business/payment/huifu/HuifuEnterpriseOnboardingGateway.java 3 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/main/java/com/talentcard/server/business/payment/huifu/HuifuIndividualOnboardingCommand.java 6 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/main/java/com/talentcard/server/business/payment/huifu/HuifuIndividualOnboardingGateway.java 6 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/main/java/com/talentcard/server/business/payment/huifu/HuifuMerchantBusinessOpenGateway.java 28 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/main/java/com/talentcard/server/business/payment/huifu/HuifuMerchantRealnameGateway.java 9 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/main/java/com/talentcard/server/business/payment/huifu/HuifuMerchantWechatConfigGateway.java 4 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/main/java/com/talentcard/server/business/payment/huifu/HuifuOnboardingProgressGateway.java 3 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/main/java/com/talentcard/server/business/payment/huifu/HuifuPaymentProperties.java 77 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/main/resources/application.yml 39 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/main/resources/db/migration/V155__merchant_business_address.sql 26 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/test/java/com/talentcard/server/business/merchant/MerchantExistingOnboardingTests.java 30 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/test/java/com/talentcard/server/business/payment/huifu/HuifuBusinessOpenRequiredFieldsTests.java 56 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/test/java/com/talentcard/server/business/payment/huifu/HuifuIndividualOnboardingRequiredFieldsTests.java 17 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/test/java/com/talentcard/server/business/payment/huifu/HuifuMerchantRealnameTests.java 4 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/test/java/com/talentcard/server/business/payment/huifu/HuifuOnboardingMerchantLevelTests.java 3 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史