方案 A:总店小程序填服务商商户号代下单;各分店「分账账户」填特约子商户号。不传 profit_sharing,货款直接进门店子商户,可提现。配置入口与以前相同。
| 对比项 | 本文:总店服务商 + 分店直收 | 独立小程序直连 | 平台小程序 + 入驻店直收 |
|---|---|---|---|
| 顾客端小程序 | 总店独立 AppID | 商家独立 AppID | 平台统一 AppID |
| 小程序设置里的商户号 | 服务商/受理机构号 | 商家直连商户号 | 平台总站配置 |
| 分店子商户号 | 总店后台「分账账户」逐店填特约子商户号 | 不需要 | 平台后台商家「分账账户」 |
| 支付时 sub_mch_id | 分店订单:需要 | 不需要 | 需要 |
路径:总店商家后台 → 小程序设置(约 user/mch/index/mp-config)
| 字段 | 填写说明 |
|---|---|
| 小程序 AppId / AppSecret | 总店自己的小程序凭证 |
| 微信支付商户号 | 填服务商/受理机构商户号(不是分店子商户号,也不是普通直连商户号) |
| API 密钥、证书 | 与服务商账户对应的密钥与 apiclient 证书(退款等需要) |
路径:总店商家后台 → 分店管理 → 分账账户(约 user/branch/shop/branch-profitsharing)
对每个分店分别设置:
| 项 | 说明 |
|---|---|
| 服务商分账(开关名) | 选择开启(含义:启用该店子商户收款,不是微信分账产品) |
| 子商户号 | 该分店在本服务商下进件的特约子商户号 |
| Api 密钥 | 该子商户 API 密钥(退款需要,开启后必填) |
| 证书 | 该子商户 apiclient_cert.pem / apiclient_key.pem(退款需要) |
| 手续费(千分比) | 按业务需要填写 0~1000,用于系统内手续费计算 |
保存后写入分店商户记录(yjd_mch.is_service、yjd_mch.sub_mch)。分店订单支付时,系统读取订单所属分店的子商户号并传给微信。
若总店自己卖货(订单 mch_id 为总店、非分店),服务商模式下同样需要子商户号,否则可能报「受理机构必须传入 sub_mch_id」。
路径:平台后台 → 商户管理 → 商户设置 / 分账账户(约 mch/mch/index/mch-service)
分店无独立小程序:分店推广码、分享链接、搜索打开仍使用总店小程序。扫码/转发用参数区分分店;搜索打开未授权不进分店,授权后按 yjd_user.branch_id 进绑定店并收款(详见 进店字段与分销)。
| 谁操作 | 后台菜单 | 配置内容 |
|---|---|---|
| 总店商家 | user/mch/index/mp-config | 总店小程序 AppID + 服务商商户号 |
| 总店商家 | user/branch/shop/branch-profitsharing | 各分店特约子商户号、开启 |
| 平台运营 | mch/mch/index/mch-service | 总店自营订单用的总店 sub_mch |
| — | mch/wechat-platform/settings | 平台小程序分账用;总店独立小程序场景通常不填此处 |
| 报错 / 现象 | 常见原因 | 处理建议 |
|---|---|---|
| 受理机构必须传入 sub_mch_id | 小程序设置填了服务商号,但下单分店未配置子商户号;或总店自营单未配总店 sub_mch | 分店 →「分账账户」补全特约子商户号并开启;总店自营 → 平台「商户设置」补总店 sub_mch |
| 分店已配 sub_mch 仍失败 | 子商户号与服务商不匹配;或未进件完成 | 在微信服务商后台核对分店子商户归属与状态 |
| 误用直连商户号却配了分店子商户 | mp-config 填普通直连号,又想走 sub_mch | 二选一:要么改直连模式(见 模式③,不配分店 sub_mch);要么改服务商号并按本文配齐子商户 |
| 结算页是分店、钱进了总店商户号 | 搜索打开只切了展示,订单仍记总店(旧逻辑) | 现已按绑定店收款。确认后台「分店用户打开方式」为进入分店;授权后再下单。扫码/转发不受影响 |
| APPID 与商户号不匹配 | 总店小程序 AppID 未绑定服务商商户号 | 登录 微信支付商户平台 → 产品中心 → AppID 账号管理 |
yjd_wechat_app 已保存 AppID + 服务商 mch_id + keyWechatServiceProvider 核对)_zong_mch_id、分店 mch_id